微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用SSL23_GET_SERVER_HELLO,NGINX缓存代理失败:sslv3警报握手失败

作为缓存代理的Nginx在通过HTTPS从CloudFront服务器获取内容时遇到问题:

这是Nginx错误日志的提取

2014/08/14 16:08:26 [错误] 27534#0:* 11560993 SSL_do_handshake()失败(SSL:错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败),而SSL握手到上游,客户端:82.33. 49.135,server:localhost,request:“GET /static/images/media-logos/best.png HTTP / 1.1”,上游:“https://x.x.x.x:443/static/images/media-logos/best.png”,

我尝试了不同的代理设置,如proxy_ssl_protocols和proxy_ssl_ciphers,但没有组合工作.

有任何想法吗?

最佳答案
我有完全相同的问题,花了几个小时…
我猜你使用的是较早版本的Nginx(低于1.7)?
Nginx 1.7中,您可以使用this directive

proxy_ssl_server_name on;

这将迫使Nginx使用SNI
此外,您应该设置SSL协议:

proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

对于早期版本,您可以使用此修补程序(但我无法验证该功能是否正常):

http://trac.nginx.org/nginx/ticket/229

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐