本文介绍了Nginx 反向代理错误:14077438:SSL SSL_do_handshake() 失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我使用以下设置为站点创建一个反向代理,如下所示.
So i am using following settings to create one reverse proxy for site as below.
server {
listen 80;
server_name mysite.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /home/ubuntu/p3;
location / {
proxy_pass https://mysiter.com/;
proxy_redirect https://mysiter.com/ $host;
proxy_set_header Accept-Encoding "";
}
}
但是出现 BAD GATE WAY 502 错误及以下是日志.
But getting BAD GATE WAY 502 error and below is the log.
2016/08/13 09:42:28 [error] 26809#0: *60 SSL_do_handshake() failed (SSL: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error) while SSL handshaking to upstream, client: 103.255.5.68, server: mysite.com, request: "GET / HTTP/1.1", upstream: "https://105.27.188.213:443/", host: "mysite.com"
2016/08/13 09:42:28 [error] 26809#0: *60 SSL_do_handshake() failed (SSL: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error) while SSL handshaking to upstream, client: 103.255.5.68, server: mysite.com, request: "GET / HTTP/1.1", upstream: "https://105.27.188.213:443/", host: "mysite.com"
任何帮助将不胜感激.
推荐答案
在 Nginx 1.9.0 上看到完全相同的错误,看起来是由使用 SNI 的 HTTPS 端点引起的.
Seeing the exact same error on Nginx 1.9.0 and it looks like it was caused by the HTTPS endpoint using SNI.
将此添加到代理位置修复了它:
Adding this to the proxy location fixed it:
proxy_ssl_server_name on;
- https://en.wikipedia.org/wiki/Server_Name_Indication
- http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_server_name
这篇关于Nginx 反向代理错误:14077438:SSL SSL_do_handshake() 失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!