配置反向代理后,开发反馈网页502,手里辣条吃完,自己试了一把,竟然不行

 看看配置文件,没什么问题

 

 之前一直这么写的不科学呀,换百度试试,百度可以,测试代理的域名直接访问也正常

日志抬上来,ssl失败,那我不用https不就行了,proxy_pass 代理换成http的后,果然可以访问!

 

继续找问题,日志中有看到将域名解析成ip。ssl在握手时,默认不发送主机名,以ip连接服务器,当服务器上有多个虚拟主机使用同一个ip时,默认返回第一个可用证书,这样就导致证书无法匹配。出现ssl握手失败

​​​​​​​

nginx有提供出现这种问题(https的SNI)的解决方式,在配置中加入

proxy_ssl_server_name  on;

reload后重新访问,收工!!!

SNI:解决同一ip,使用多个证书的情况,在ssl握手时插入host信息,使服务器能根据host找到正确的域名,并返回对应的ssl证书。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。