我在将 nginx 从 1.17 升级到 1.18(或 .19、.20)时遇到了问题,在 1.17 上一切正常,但更高的版本会出现此错误:
2021/08/27 01:14:45 [error] 22#22: *8 peer closed connection in SSL handshake (104: Connection reset by peer) while SSL handshaking to upstream, client: 192.168.**.**, server: api*******.hm.*******.gov.br, request: "GET /favicon.ico HTTP/1.1", upstream: "https://192.168.**.**:443/favicon.ico", host: "api*******.hm.********.gov.br"
仅当上游是内部 IIS 服务器时才会发生错误。当上游是另一个 nginx 时,它可以与 1.17 以上的版本配合使用
配置基本上是:
location / {
proxy_pass https://$host.***.br$uri$is_args$args;
我尝试使用,proxy_ssl_verify off
但没有成功。IIS 证书是自行生成的。
请指教
答案1
这看起来像是 TLS 版本的问题。也许您的后端 IIS 服务器不够新,无法支持 nginx 所需的 TLS 协议?
尝试添加proxy_ssl_protocols
包含您的 IIS 支持的 SSL / TLS 版本的指令。