Nginx反向代理错误:14077438:SSL SSL_do_handshake()失败
问题描述:
所以我使用以下设置为站点创建一个反向代理,如下所示。Nginx反向代理错误:14077438:SSL SSL_do_handshake()失败
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 "";
}
}
但是,得到坏门方法502错误和以下是日志。
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端点引起的。
添加这对代理地点固定它:
proxy_ssl_server_name on;