目录
一、具体报错
(一)背景简述
有个业务系统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之后解决。