Ssl 向nginx中的HTTPS服务器发送代理HTTP请求
我想设置一个nginx实例,它将从/api开始的HTTP请求代理到HTTPS服务器,但是/api URL段应该省略。 例如,该实例应该侦听localhost:9817。如果它收到一个请求,它应该将其代理为 这是我的nginx配置:Ssl 向nginx中的HTTPS服务器发送代理HTTP请求,ssl,nginx,https,proxy,reverse-proxy,Ssl,Nginx,Https,Proxy,Reverse Proxy,我想设置一个nginx实例,它将从/api开始的HTTP请求代理到HTTPS服务器,但是/api URL段应该省略。 例如,该实例应该侦听localhost:9817。如果它收到一个请求,它应该将其代理为 这是我的nginx配置: events { worker_connections 1024; } http { server { listen 9817; server_name localhost; loca
events {
worker_connections 1024;
}
http {
server {
listen 9817;
server_name localhost;
location /api {
rewrite ^/api(/.*) $1 break;
proxy_pass https://api.com:8443;
proxy_set_header Host $host;
proxy_http_version 1.1;
}
location / {
root "D:/Project/dist";
try_files $uri $uri/ /index.html;
}
}
}
但是,我在error.log中遇到以下错误:
2020/01/16 17:54:22 [error] 420512#426216: *31 peer closed connection in SSL handshake (10054: An existing connection was forcibly closed by the remote host) while SSL handshaking to upstream, client: 127.0.0.1, server: localhost, request: "POST /api/auth HTTP/1.1", upstream: "https://16.53.35.38:8443/auth", host: "localhost:9817", referrer: "http://localhost:9817/"
这个错误的原因是什么?我如何修复它或设置代理?我遇到了同样的问题。
我发现了神奇的行动来解决这个问题
“尝试将上的代理\u ssl\u服务器\u名称添加到代理\u密码块,看看是否有帮助”
它在我的nginx.conf中
location / {
proxy_pass https://$http_x_forwarded_to;
}
经过编辑,它变成了
location / {
proxy_pass https://$http_x_forwarded_to;
proxy_ssl_server_name on;
}
我可以再次享受生活了你好,我也犯了同样的错误。谷歌不知道这个错误。你修复了这个错误吗?你好!不,我没有。我的项目不再需要这种代理,因此问题变得无关紧要。我只是试图重现我在问题中描述的情况。而且它不知怎么起作用了!没有错误。即使没有你的解决方案。可能是因为nginx配置以外的原因。无论如何,谢谢参与!该错误仅适用于对特定地址()的请求。在没有更改的情况下,其他地址的一切都正常工作。问题服务器的异常情况是什么?我不明白