
Aufstellen: Ich habe einen Nginx-Reverse-Proxy, der als Load Balancer für ASP.NET-Anwendungen dient.
Das Problem ist, dass der SSL-Handshake fehlschlägt, wenn eine ASP.NET-Anwendung versucht, auf eine externe Anwendung zuzugreifen. Ich denke, die SSL/TLS-Verbindung besteht zwischen dem externen Server und dem Nginx-Reverse-Proxy. Das SSL-Zertifikat der externen Website wird also grundsätzlich vom Nginx-Reverse-Proxy nicht erkannt.
Wie konfiguriere ich nginx auf RHEL, damit es das Serverzertifikat erkennt? Handelt es sich dabei um eine nginx-Konfiguration oder werden einfach die auf RHEL installierten Client-Zertifikate verwendet?
Antwort1
In den meisten Konfigurationen werden die von den .Net-Anwendungsservern stammenden Anfragen unabhängig weitergeleitet und der Reverse-Proxy kommt nie zum Einsatz ...
Ich würde untersuchen, wie eine Webservice-Anforderung vom Anwendungsserver weitergeleitet wird. D.h. zuerst
- Kann der externe Host aufgelöst werden
- Gibt es ein Standard-Gateway und gewährt dieses Zugriff auf das Internet?
- Gibt es eine Firewall, die ausgehende Anfragen blockiert?
- Müssen Sie einen HTTP-Proxy verwenden?
Beginnen Sie erst mit der Überprüfung von SSL-Problemen, wenn keine Probleme mit der Netzwerkverbindung vorliegen.
Wenn die Remote-Anfragen in der Vergangenheit funktioniert haben, kann es sein, dass die Remote-Site nach der Sicherheitslücke im Poodle-Protokoll die Sicherheit verbessert hat und SSLv3 zugunsten von TLS deaktiviert wurde. Und Ihre Anwendung unterstützt das nicht.