Nginx-reverse-proxy error:14077438:SSL SSL_do_handshake() ist fehlgeschlagen
So, ich bin mit folgenden Einstellungen erstellen einer reverse-proxy für die Website, wie unten beschrieben.
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 "";
}
}
Aber immer SCHLECHTER-TOR-WEG 502-Fehler und unten ist das 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"
Jede Hilfe wird sehr geschätzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehen die exakt gleichen Fehler auf Nginx 1.9.0 und es sieht aus wie es verursacht wurde durch die HTTPS-Endpunkt unter Verwendung von SNI.
Hinzufügen, dass diese an den proxy-Standort fixiert:
proxy_ssl_server_name on;
Gibt es ein paar Seltsamkeiten, die mit Ihrer Konfiguration. Erstens, was sind Sie proxyweiterleitung an? Haben Sie einen anderen server block server name
mysiter.com
lauscht auf port 443 dient die app?Wenn ja, dann, was Sie hier wollen, ist eine 301-Weiterleitung auf Ihre 443 blockieren.
Wenn nicht, dann ist der proxy land in der gleichen Lage zu blockieren, Sie bilden eine Schleife (weil Sie noch nicht angegeben, ein anderer port verwendet wird).
Den Fehler, den Sie geschrieben ist, weil dein upstream nicht über ein Zertifikat für die SSL-offload. Um dieses Problem zu lösen, müssen Sie ändern Sie Ihre
proxy_pass
Richtlinie plain-HTTP.Oder benötigen Sie ein Zertifikat für den backend-server zu verwenden.
Check-out die docs für mehr info. Dieser blog könnte auch von nutzen sein.