Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 向nginx中的HTTPS服务器发送代理HTTP请求_Ssl_Nginx_Https_Proxy_Reverse Proxy - Fatal编程技术网

Ssl 向nginx中的HTTPS服务器发送代理HTTP请求

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

我想设置一个nginx实例,它将从/api开始的HTTP请求代理到HTTPS服务器,但是/api URL段应该省略。 例如,该实例应该侦听localhost:9817。如果它收到一个请求,它应该将其代理为

这是我的nginx配置:

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配置以外的原因。无论如何,谢谢参与!该错误仅适用于对特定地址()的请求。在没有更改的情况下,其他地址的一切都正常工作。问题服务器的异常情况是什么?我不明白