nginx做反向代理报错peer closed connection in SSL handshake while SSL handshaking to upstream

  • Post author:
  • Post category:其他



目录


一、具体报错


(一)背景简述


(二)其他说明


二、分析和解决


(一)配置域名访问反向代理未解决


(二)配置proxy_ssl_server_name解决



一、具体报错


(一)背景简述

有个业务系统A部署在云上,由于某种原因需要用到nginx反向代理业务系统A。

部署完nginx反向代理,提供服务的时候,出现了如下报错。

2022/09/19 15:11:40 [error] 20660#0: *12 peer closed connection in SSL handshake while SSL handshaking to upstream, client: 10.10.10.10, server: 10.10.20.10, request: “GET / HTTP/1.1”, upstream: “https://1.1.1.1:443/”, host: “10.10.20.10”


(二)其他说明

以上报错的内容,对IP地址进行了更改,脱敏掉了真实数据。

经过测试,代理公司云上的其他业务系统没有问题,只有在反向代理业务系统A的时候才出现这个报错。


二、分析和解决


(一)配置域名访问反向代理未解决

看报错日志提示ssl握手有问题,一开始的反应是将访问IP改成访问域名,但是配置完域名访问反向代理之后没有效果。


(二)配置


proxy_ssl_server_name


解决

在云上的业务系统A,同一个IP地址和端口绑定了多个域名,在代理的时候需要配置proxy_ssl_server_name on参数传递域名信息。

示例如下:

location / {

proxy_ssl_server_name on;

proxy_pass https://test.com.cn;

……

}

配置proxy_ssl_server_name on之后解决。



版权声明:本文为u013930899原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。