Linux:在向上游进行SSL握手时,Nginx错误SSL_do_handshake()失败

时间:2020-02-23 14:39:53  来源:igfitidea点击:

使用Nginx作为Apache反向代理并收到" 502 Bad Gateway"错误,并且在错误日志文件中还包含类似内容吗?

[error] SSL_do_handshake() failed (SSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol) while SSL handshaking to upstream, client: 0.0.0.0, server: www.theitroad.com, request: "GET/HTTP/1.1";, upstream: "https://127.0.0.1:4343/";, host: "www.theitroad.com";

由于使用的是SSL,因此显然每个vHost需要专用的IP地址(此示例清楚地显示了请求已发送到localhost IP!您在proxy_pass语句中设置的IP可能错误)。

1.确保Apache vHost /站点在非标准端口上响应(浏览至:https://www.theitroad.com:4343)。

2.如果加载正确,请记下SSL vHost的<VirtualHost 0.0.0.0:4343>中包含的IP地址,否则请再次检查您的Apache配置。

3.在您的Nginx SSL vHost配置下,确保该语句" proxy_pass https://0.0.0.0:4343;"中具有相同的IP地址。