Fehler 502 – Zufälliger SSL-Bibliotheksfehler: 336151568 Fehler:14094410

Fehler 502 – Zufälliger SSL-Bibliotheksfehler: 336151568 Fehler:14094410

Auf meinen Webservern tritt ein zufälliger 502-Fehler auf.

Rate: 0,5 %

Fehler in meinen Protokollen: SSL-Bibliotheksfehler: 336151568 Fehler: 14094410: SSL-Routinen: SSL3_READ_BYTES: sslv3-Warnungs-Handshake-Fehler

OpenSSL-Version: OpenSSL 1.0.0-fips 29. März 2010

Netzwerk Ich kann keine Bilder posten, daher hier ein Link zum Schema meines Netzwerks: https://i.stack.imgur.com/oOOnL.jpg und das gleiche Bild bei einem anderen Hoster:http://s28.postimg.org/q9012t8l7/error502.jpg

Ein paar Details:

Ich hoste JEE-Anwendungen auf einem Tomcat 7.0.37

Wenn jemand versucht, eine Verbindung zu einer dieser Anwendungen herzustellen, stellt er eine Verbindung zur externen IP meines Routers her. Der Router leitet ihn zu meiner DMZ weiter.

Apache-Konfiguration in der DMZ

<VirtualHost *:443>
  ServerName www.myapp.fr
  ServerAlias myapp.fr
  RedirectMatch ^/$ /CRA
  ProxyRequests Off

  SSLEngine on
  SSLProxyEngine on
  SSLCertificateFile /etc/ssl/certs/www.myapp.fr.pem


  ProxyPass / https://myapp.fr/
  ProxyPassReverse / https://myapp.fr/

      LogLevel info
     CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/myapp.fr/SSL.myapp.fr_access.%Y-%m-%d.log 5M" combined
     ErrorLog  "|/usr/sbin/rotatelogs /var/log/httpd/myapp.fr/SSL.myapp.fr_error.%Y-%m-%d.log 5M"
</VirtualHost>

Myapp.fr ist in /etc/hosts als 192.168.1.51 definiert, die IP eines Webservers

Die DMZ verwendet ProxyPass zu diesem Webserver. Dieser Webserver wird für ProxyPass zum echten Anwendungsserver verwendet.

Apache-Konfiguration auf dem Webserver

    <VirtualHost *:443>
    ServerName myapp.fr
    RedirectMatch ^/$ https://myapp.fr/Collaborateurs/
         ProxyRequests Off
    SSLCertificateFile /etc/ssl/certs/www.myapp.fr.pem
     SSLProxyEngine On
    SSLEngine on

    ProxyPass /Collaborateurs/ https://ApplicationServer:8443/Collaborateurs/
    ProxyPassReverse /Collaborateurs/ https://ApplicationServer:8443/Collaborateurs/

     LogLevel info
        CustomLog "|/usr/sbin/rotatelogs ${APACHE_LOG_DIR}/myapp/SSL.myapp.fr_access.%Y-%m-%d.log 5M" combined
        ErrorLog  "|/usr/sbin/rotatelogs ${APACHE_LOG_DIR}/myapp/SSL.myapp.fr_error.%Y-%m-%d.log 5M"
</VirtualHost>

Hier ist das Problem. Manchmal erscheint in meinen Protokollen ein zufälliger Fehler, der einem Bad-Gateway-Fehler (502) für den Benutzer entspricht.

Protokolle von /var/log/httpd/myapp.fr/SSL.myapp.fr_error.%Y-%m-%d.log:

[Mon Dec 23 08:58:31 2013] [info] Seeding PRNG with 136 bytes of entropy
[Mon Dec 23 08:58:31 2013] [info] Initial (No.1) HTTPS request received for child 11 (server myapp.fr:443)
[Mon Dec 23 08:58:31 2013] [info] [client 192.168.1.52] Connection to child 0 established (server myapp.fr:443)
[Mon Dec 23 08:58:31 2013] [info] Seeding PRNG with 136 bytes of entropy
[Mon Dec 23 08:58:31 2013] [info] [client 192.168.1.52] SSL Proxy connect failed
[Mon Dec 23 08:58:31 2013] [info] SSL Library Error: 336151568 error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
[Mon Dec 23 08:58:31 2013] [info] [client 192.168.1.52] Connection closed to child 0 with abortive shutdown (server myapp.fr:443)
[Mon Dec 23 08:58:31 2013] [error] (502)Unknown error 502: proxy: pass request body failed to 192.168.1.52:8443 (ApplicationServer.domain.lan)
[Mon Dec 23 08:58:31 2013] [error] proxy: pass request body failed to 192.168.1.52:8443 (ApplicationServer.red.lan) from 10.0.0.2 ()

Hier sind dieselben Protokolle, wenn kein Fehler auftritt:

[Mon Dec 23 09:08:30 2013] [info] Initial (No.1) HTTPS request received for child 8 (server myapp.fr:443)
[Mon Dec 23 09:08:30 2013] [info] Initial (No.1) HTTPS request received for child 0 (server myapp.fr:443)
[Mon Dec 23 09:08:30 2013] [info] [client 192.168.1.52] Connection to child 0 established (server myapp.fr:443)
[Mon Dec 23 09:08:30 2013] [info] Seeding PRNG with 136 bytes of entropy
[Mon Dec 23 09:08:31 2013] [info] Initial (No.1) HTTPS request received for child 3 (server myapp.fr:443)
[Mon Dec 23 09:08:31 2013] [info] [client 192.168.1.52] Connection to child 0 established (server myapp.fr:443)
[Mon Dec 23 09:08:31 2013] [info] Seeding PRNG with 136 bytes of entropy

Ich verstehe nicht, warum dieser Fehler auftritt. Hat jemand eine Idee? Danke für den eventuellen Hinweis – und entschuldigen Sie mein schlechtes Englisch :D

Antwort1

Wenn die SSL-Proxy-Verbindung fehlschlägt, bedeutet dies, dass es vor Abschluss des SSL-Handshakes zu einem Netzwerkfehler zwischen Ihrem Webserver und Ihrem Anwendungsserver gekommen ist. Ohne Paketverfolgungen (und eine Menge mehr) von Ihrem Netzwerk ist es nahezu unmöglich, genau herauszufinden, warum die TCP-Verbindung fehlgeschlagen ist. Ich würde jedoch nach Netzwerküberlastungen oder sehr hoher Auslastung des Anwendungsservers zum Zeitpunkt der Fehler suchen.

Antwort2

Das Problem war die Hyper-V-Integration:

Das Aktualisieren der Linux-Integrationskomponenten von 3.4 auf 3.5 auf dem Proxyserver hat das Problem gelöst.

verwandte Informationen