宝塔配置HTTPS后 nginx 反向代理出现 502 Bad Gateway
502 Bad Gateway 错误通常是由于代理服务器无法连接到上游服务器引起的。这可能是由于 SSL 证书不匹配或其它原因导。
问题场景:站点中开启SSL配置,配置了反向代理情况下,出现部分HTTPS请求返回 502 error问题。但是使用 http://{IP}/ 方式访问,又不出现502 error情况。经排查由于网站启用了 SNI , 宝塔nginx反代默认没有加入 SNI ,Nginx 无法成功连接到上游服务器的 SSL , 导致 502 Bad Gateway。
解决方案:
在nginx反向代理配置中添加 proxy_ssl_server_name on; 即可。
操作过程:
- 打开“站点” - “反向代理” - 找到某条代理目录 - 点击“配置”。
- 在配置文件中“ proxy_set_header REMOTE-HOST $remote_addr; ” 处添加
# 当开启时,在SSL握手的时候会把HostName传给上游服务器,以便上游服务器知道用哪个证书.
proxy_ssl_server_name on;
# 不验证上游证书(按需添加)
proxy_ssl_verify off;
详见下图: