it-swarm.com.de

ssl_error_rx_record_too_long und Apache SSL

Ich habe einen Kunden, der versucht, auf eine meiner Websites zuzugreifen, und er erhält diesen Fehler weiterhin> ssl_error_rx_record_too_long

Diese Fehlermeldung wird in allen Browsern und auf allen Plattformen angezeigt. Ich kann das Problem überhaupt nicht reproduzieren.

Mein Server und ich befinden uns in den USA, der Kunde in Indien.

Ich habe über das Problem gegoogelt, und die Hauptquelle scheint zu sein, dass der SSL-Port in HTTP spricht. Ich habe meinen Server überprüft und dies geschieht nicht. Ich habe versucht die hier erwähnte Lösung , aber der Kunde hat angegeben, dass das Problem nicht behoben wurde.

Kann mir jemand sagen, wie ich das beheben oder wie ich das reproduzieren kann ???

DIE LÖSUNG

Es stellte sich heraus, dass der Kunde einen falsch konfigurierten lokalen Proxy hatte!

Ich hoffe, das hilft jedem, der diese Frage findet und versucht, sie in Zukunft zu debuggen.

229
Subimage

Das Link von Subimage erwähnt war genau das Richtige für mich. Es wurde vorgeschlagen, das virtuelle Host-Tag zu ändern, dh von <VirtualHost myserver.example.com:443> zu <VirtualHost _default_:443>.

Fehlercode: ssl_error_rx_record_too_long

Dies bedeutet normalerweise, dass die Implementierung von SSL auf Ihrem Server nicht korrekt ist. Der Fehler wird normalerweise durch ein serverseitiges Problem verursacht, das der Serveradministrator untersuchen muss.

Im Folgenden finden Sie einige Dinge, die wir zum Ausprobieren empfehlen.

  • Stellen Sie sicher, dass Port 443 auf Ihrem Server geöffnet und aktiviert ist. Dies ist der Standardport für die https-Kommunikation.

  • Wenn SSL einen nicht standardmäßigen Port verwendet, kann FireFox 3 manchmal diesen Fehler melden. Stellen Sie sicher, dass SSL auf Port 443 ausgeführt wird.

  • Wenn Sie Apache2 verwenden, überprüfen Sie, ob Sie Port 443 für SSL verwenden. Dies kann erreicht werden, indem die Datei ports.conf wie folgt eingestellt wird

    Listen 80
    Listen 443 https
    
  • Stellen Sie sicher, dass Sie nicht mehr als ein SSL-Zertifikat haben, das dieselbe IP teilt. Bitte stellen Sie sicher, dass alle SSL-Zertifikate ihre eigene dedizierte IP verwenden.

  • Wenn Sie Apache2 verwenden, überprüfen Sie Ihre vhost-Konfiguration. Einige Benutzer haben gemeldet, dass sie <VirtualHost> in _default_ geändert haben, um den Fehler zu beheben.

Das hat mein Problem behoben. Es kommt selten vor, dass ich eine Fehlermeldung google und den ersten Treffer mit der richtigen Antwort erhalte! :-)

Zusätzlich zu den obigen sind dies einige andere Lösungen, die andere Leute gefunden haben, die das Problem verursacht haben:

  • Stellen Sie sicher, dass Ihr SSL-Zertifikat nicht abgelaufen ist

  • Versuchen Sie, die Chiffre anzugeben:

    SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:+SSLv3

156
Randall

Die Lösung für mich war, dass default-ssl in Apache 2 nicht aktiviert war .... nur SSLEngine On

Ich musste a2ensite default-ssl ausführen und alles funktionierte.

112
Webnet

In meinem Fall musste ich den <VirtualHost *> auf <VirtualHost *: 80> zurücksetzen (dies ist der Standard unter Ubuntu). Andernfalls verwendete der Port 443 kein SSL und sendete einfaches HTML zurück an den Browser.

Sie können ganz einfach überprüfen, ob dies der Fall ist: Stellen Sie einfach eine Verbindung zu Ihrem Server her http://www.example.com:44 . Wenn Sie einfaches HTML sehen, verwendet Ihr Apache kein SSL an Port 443, höchstwahrscheinlich aufgrund einer falschen VirtualHost-Konfiguration.

Prost!

32
alexm

In meinem Fall hatte ich vergessen, SSLEngine On in der Konfiguration einzustellen. Wie so

<VirtualHost _default_:443>
  SSLEngine On
  ...
</VirtualHost>

http://httpd.Apache.org/docs/2.2/mod/mod_ssl.html#sslengine

19

Wenn Sie den Fehler nach dem Einrichten eines neuen https vhost haben und die Konfiguration richtig zu sein scheint, denken Sie daran, auch sites-enabled einzulinken.

8
drillingman

Alte Frage, aber zuerst in Google für mich führen, so ist hier, was ich tun musste.

Ubuntu 12.04 Desktop mit installiertem Apache

Die gesamte Konfiguration und mod_ssl wurde installiert, als ich Apache installiert habe, aber es war noch nicht an den richtigen Stellen verlinkt. Hinweis: Alle folgenden Pfade beziehen sich auf /etc/Apache2/

mod_ssl ist in ./mods-available gespeichert, und die SSL-Site-Konfiguration befindet sich in ./sites-available. Sie müssen diese lediglich mit den richtigen Stellen in ./mods-enabled und ./sites-enabled verknüpfen.

cd /etc/Apache2
cd ./mods-enabled
Sudo ln -s ../mods-available/ssl.* ./
cd ../sites-enabled
Sudo ln -s ../sites-available/default-ssl ./

Starten Sie Apache neu und es sollte funktionieren. Ich habe versucht, auf https: // localhost zuzugreifen, daher können Ihre Ergebnisse für den externen Zugriff variieren, aber das hat bei mir funktioniert.

7
Tarka

Fragen Sie den Benutzer nach der genauen URL, die er in seinem Browser verwendet. Wenn Sie https://your.site:8 eingeben, wird möglicherweise der Fehler ssl_error_rx_record_too_long angezeigt.

4
dan-manges

In meinem Fall hatte ich die falsche IP-Adresse in der virtuellen Host-Datei. Das Listening war 443 und die Zeilengruppe war <VirtualHost 192.168.0.1:443>, aber der Server hatte nicht die Adresse 192.168.0.1!

4
fimbulvetr

Bitte siehe dieser Link .

Ich habe alle meine Apache-Protokolldateien durchsucht, bis ich den tatsächlichen Fehler gefunden habe (ich hatte den <VirtualHost> von _default_ in meinen fqdn geändert). Als ich diesen Fehler behoben habe, hat alles gut funktioniert.

3
rogovsky

In meinem Fall war das Problem, dass https nicht richtig gestartet werden konnte, weil Listen 443 in der "IfDefine SSL" -Derektive war, aber mein Apache nicht mit der Option -DSSL gestartet hat. Der Fix bestand darin, mein Apachectl-Skript zu ändern in:

$HTTPD -k $ARGV

zu:

$HTTPD -k $ARGV -DSSL

Hoffe das hilft jemandem.

2
Pushnov Iliya

Ich hatte eine verkorkste virtuelle Host-Konfiguration. Denken Sie daran, dass Sie einen virtuellen Host ohne SSL für Port 80 und einen anderen mit SSL für Port 443 benötigen. Sie können nicht beide in einem virtuellen Host haben, wie es die webmin-generierte Konfiguration versucht hat.

1
Sven

Mein Problem lag an einer NIEDRIGEN MTU über eine VPN-Verbindung.

netsh interface ipv4 show inter

Idx  Met   MTU   State        Name
---  ---  -----  -----------  -------------------
  1 4275 4294967295  connected    Loopback Pseudo-Interface 1
 10 4250   **1300**  connected    Wireless Network Connection
 31   25   1400  connected    Remote Access to XYZ Network

Fix: netsh interface ipv4 set interface "Drahtlose Netzwerkverbindung" mtu = 14

Es kann auch ein Problem über eine Nicht-VPN-Verbindung sein ...

1
Chris

Für mich war die Lösung, dass mein ddclient nicht richtig cronning ...

0
Anon

Ich hatte in einigen Browsern das gleiche Problem beim Zugriff auf meine SSL-Site. Ich habe festgestellt, dass ich musste FireFox den richtigen Proxy geben (FireFox hat direkt auf das Internet zugegriffen).

Abhängig von der LAN-Konfiguration (Tunneln, Filtern, Proxy-Umleitung) löst der Modus "Direkter Zugriff auf das Internet" für FireFox diesen Fehler aus.

Sie können auch versuchen, die Hosts-Datei zu reparieren.

Behalten Sie die vhost-Datei mit der vollqualifizierten Domain bei und fügen Sie den Hostnamen in die hosts-Datei ein / etc/hosts (debian)

ip.ip.ip.ip name name.domain.com

Nach dem Neustart von Apache2 sollte der Fehler behoben sein.

0
gaspard