nginx做代理https遇到SSL_do_handshake()握手失败

这个问题真的时,困扰我一段时间了,反向代理时,设置了

proxy_ssl_protocols XXXX;
#proxy_ssl_ciphers   ECC-SM4-SM3;
proxy_ssl_session_reuse off;

一开始的时候由于看到了这个:

proxy_ssl_session_reuse指令配置,当下一次nginx转发一个连接到后端服务器时,会话参数会被重复使用,从而更快的建立安全连接。

乍一看,好像说的挺对,就是节省时间了,然后就配置成了on,结果呢,只能成功访问一次,在次访问的时候,就报错了,抓包看的话,会发现在SSL握手中,SSL协议的版本,已经不是上面使用proxy_ssl_protocols 设置的协议了,当然握手失败了,

另外一种说法是:

根据反馈是短时间内连续性请求则会返回502错误,查询资料发现nginx默认会尝试重新使用SSL上游的SSL会话。

改成 proxy_ssl_session_reuse off;  问题解决。

猜你喜欢

转载自blog.csdn.net/weixin_37569048/article/details/88894173
今日推荐