nginx反向代理https域名时,请求报错502问题排查

浏览:262次阅读
没有评论

引入

配置了 nginx 反向代理, 结果访问 502 报错, 访问原始网站正常

错误日志如下:

2024/06/04 14:16:13 [crit] 26899#0: *6581 SSL_do_handshake() failed (SSL: error:14094458:SSL routines:ssl3_read_bytes:tlsv1 unrecognized name:SSL alert number 112) while SSL handshaking to upstream, client: 1.1.1.1, server: api.xxx.com.cn, request: "GET /api/product/list HTTP/2.0", upstream: "https://1.1.1.1:1234/api/product/list", host: "api.xxx.com.cn"

其中: api.xxx.com.cn => 当前网站域名
https://1.1.1.1:1234/api/product/list => 代理网站的 IP: 端口地址
实际反向代理目标地址为 https://xxx.com:1234/api/

问题排查

其中他请求目标地址发现变成了 IP 地址 而不是域名

解决方法

在配置中增加一行

proxy_ssl_server_name on;
 注解: 参数默认关闭,当开启时,在 SSL 握手的时候会把 HostName 传给上游服务器,以便上游服务器知道用哪个证书。

如下图:
nginx 反向代理 https 域名时,请求报错 502 问题排查

正文完
 0
包子
版权声明:本站原创文章,由 包子 于2024-06-04发表,共计601字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)