宝塔 Nginx 反代 502 Bad Gateway SSL问题

宝塔 Nginx 反代网站 出现502 Bad Gateway ,错误信息显示 SSL_do_handshake() failed 的解决方法

你是否遇到过使用宝塔 Nginx 反代网站时出现 502 Bad Gateway , 明明正常反代都没问题 , 可是反代就 502 Bad Gateway , 查看错误日志显示 :

*6565 SSL_do_handshake() failed (SSL: error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error:SSL alert number 80) while SSL handshaking to upstream


初步研究问题发现是由于网站启用了 SNI , 宝塔Nginx反代默认没有加入 SNI proxy_ssl_server_name on; ,Nginx 无法成功 handshake 上游的 SSL , 导致 502 Bad Gateway.


解决方法:

  1. 进入宝塔的反向代理控制页面

  2. 选中出现 SSL_do_handshake() failed 的代理的“编辑配置”

  3. proxy_set_header REMOTE-HOST $remote_addr; 下一行加入 proxy_ssl_server_name on;

  4. 保存,重启Nginx 即可.

  5. 现在你就可以正常反代拉!

加入 proxy_ssl_server_name on;