Nginx - 上游SSL - SSL握手中的对等关闭连接

Jef*_*rey 6 ssl nginx

我收到此错误:

错误前端:502错误的网关

99.110.244:443

2017/09/28 13:03:51 [错误] 34080#34080:*SSL握手中的1062对等关闭连接(104:通过对等方连接重置),而SSL握手到上游,客户端:10.210.0.81,服务器:webshop.izegem .be,请求:"GET/HTTP/1.1",上游:" https://10.1.10.61:443/ ",主持人:"webshop.domain.be"

配置:

        # Zone voor connection logging
        limit_conn_zone $binary_remote_addr zone=izSSL_webshop-api_CZ:10m;

        # Zone voor rate logging
        # Hoge rate limit.  x r/s is soms wat snel
        # 10 MB (10m) will give us enough space to store a history of 160k requests.
        limit_req_zone $binary_remote_addr zone=izSSL_webshop-api_RZ:10m rate=20r/s;


upstream webshop_domain_be {
        server webshop.domain.be:443;
}


server {
        listen       443 ssl;
        server_name  webshop.domain.be webshop;

        client_max_body_size 80M;

        ssl_session_cache    shared:webshopSSL:1m;
        ssl_session_timeout  10m;
        ssl_certificate /var/www/certs/webshop.domain.be/webshop.domain.be-chain.pem;
        ssl_certificate_key /var/www/certs/webshop.domain.be/webshop.domain.be-key.pem;
        ssl_verify_client off;
        ssl_protocols        SSLv3 TLSv1 TLSv1.1 TLSv1.2;

        ssl_ciphers RC4:HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;


        location / {

                proxy_ssl_session_reuse off;
                proxy_pass $scheme://webshop_domain_be;

        }
}
Run Code Online (Sandbox Code Playgroud)

nginx版本:nginx/1.10.3(Ubuntu)

其他服务器(10.1.10.61)是一个IIS服务器,其证书与我在此代理中使用的证书相同(正确吗?).这不是IIS问题; 代理服务器可以达到10.1.10.61 /端口443

基于https://serverfault.com/questions/583374/configure-nginx-as-reverse-proxy-with-upstream-ssl的配置

我正在使用Let的加密证书.

小智 8

在proxy_pass为我工作后添加此行.

proxy_ssl_server_name on;

在此之前我从这里做到了这一点

在REDHAT 7/CentOS 7/Oracle Linux 7中:在您的环境中安装证书.

  1. 从以下网址下载Active PEM证书:/ etc/pki/ca-trust/source/anchors中的https://letsencrypt.org/certificates/
  2. 执行:sudo update-ca-trust

不确定是否需要最后两个步骤,但这两个步骤对我有效.

干杯,


小智 7

这对我有用。我有一个带有通配符搜索的 server_name 设置的服务器部分,并且必须在位置部分中执行以下操作:

proxy_ssl_name $host;
proxy_ssl_server_name on;
proxy_pass https://istio-ingress-gateway
Run Code Online (Sandbox Code Playgroud)


小智 6

我遇到了这个问题,我不得不把它放到我的位置块

proxy_ssl_name your.proxiedserver.name; proxy_ssl_server_name on;


Tar*_*ani 2

更改您的上游以使用 IP

upstream webshop_domain_be {
        server <IP>:443;
}
Run Code Online (Sandbox Code Playgroud)

然后将你的proxy_pass块更改为

location / {
   proxy_ssl_session_reuse off;
   proxy_ssl_server_name "webshop.domain.be";
   proxy_pass $scheme://webshop_domain_be;
}
Run Code Online (Sandbox Code Playgroud)

如果以上不起作用,则proxy_ssl_server_name on;也添加到配置中

  • 在撰写本文时,您无法将 proxy_ssl_server_name 设置为除打开或关闭之外的任何值。 (3认同)