Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Apache SSL-Problem "ssl_error_rx_record_too_long"

Empfohlene Antworten

Veröffentlicht

Moin,

wollte grad versuchen, SSL zum laufen zu bekommen auf meinem "HomeServer". Rufe ich die Adresse mit http:// auf, so läuft alles wie gewohnt. Mit https:// bekomm ich mit FF folgende Meldung:

Ein Fehler ist während einer Verbindung mit xxxxxxxxxxxxxxxxxxx.dyndns.org aufgetreten.

SSL hat einen Eintrag erhalten, der die maximal erlaubte Länge überschritten hat.

(Fehlercode: ssl_error_rx_record_too_long)

hab hier mal die httpd-ssl.conf, die ich mir gebastelt habe:


<IfDefine SSL>

NameVirtualHost *:443


<VirtualHost xxxxxxx.dyndns.org:443>

        DocumentRoot "/usr/local/www/htroot"

        ServerName xxxxxxxx.dyndns.org

        ErrorLog /var/log/httpd/error_log

        TransferLog /var/log/httpd/access_log

        SSLEngine on

        SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

        SSLCertificateFile "/usr/local/etc/apache22/server.crt"

        SSLCertificateFile "/usr/local/etc/apache22/server.key"


        <Files ~ "\.(cgi|shtml|phtml|php3?)$">

           SSLOptions +StdEnvVars

        </Files>


       <Directory "/usr/local/www/htroot">

          SSLOptions +StdEnvVars

      </Directory>


SetEnvIf User-Agent ".*MSIE.*" \

         nokeepalive ssl-unclean-shutdown \

         downgrade-1.0 force-response-1.0


CustomLog /var/log/httpd/ssl_request_log \

          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"


</VirtualHost>


</IfDefine>

Apache Webserver,

OS: FreeBSD

Apache/2.2.11 (FreeBSD) mod_ssl/2.2.11 OpenSSL/0.9.8e DAV/2 PHP/5.2.9 with Suhosin-Patch

Bin irgendwie grad blind^^

Hoffe, mir kann wer helfen, danke :-)

danke für den tip, doch leider brachte dies keinen erfolg.

habe mir nochmal neue zertifikate generiert, allerding auch ohne erfolg

Hast du mal in die Apache Logs geschaut? Port 443 an der Firewall offen?

Bearbeitet von Dio

Firewallregeln sind gesetzt:

... allow tcp from any to any 443 in

... allow tcp from any to any 443 out

vom router auch nach außen geleitet, log scheint soweit ok zu sein. 2 errors hab ich drinn, wobei eine ein "File does not exist: ...", weil irgendwer n toten link oder so geklickt hat und ein "Invalid methode in request \x16\x03\x01" von mir.

Du meinst vom Router zum Server oder? ;)

Hast du es mal mit dem IE probiert? Stimmen Pfad und Berechtigungen der Zertifikatfiles?

Die Config ist soweit ok. Trag mal testweise noch SSLProtocol all nach SSLCipherSuite ein.

VG

Bearbeitet von Dio

Was mir grade noch auffällt. Warum hast du denn ein <IfDefine SSL> drin stehen? Wenn ich mich richtig erinnere funktioniert SSL dann nur wenn du denn Apache Dienst explizit mit SSL Unterstützung startest (War glaub ich "httpd -D SSL" wenn ich mich richtig erinnere)

korrigiert mich wenn ich da falsch liege. Ist schon ein bisschen her das ich mich damit beschäftigt habe :D

aaaaaaalso:

IPFW (Firewall auf dem Server) und Router-FW sind für https offen,

<IfDefine SSL> hab ich mal auskommentiert und den Apache gestoppt, das starten schlug fehl, in den logs tauchte folgendes auf:

[Wed Aug 12 15:02:31 2009] [notice] caught SIGTERM, shutting down

(2)No such file or directory: httpd: could not open error log file /var/log/httpd/error_log.

Unable to open logs

hatte n falsches verzeichnis angegeben, hatte dies korregiert und gestartet.

jetzt bekomm ich ne warnung, dass das zertifikat nicht vertrauenswürdig ist, ist aber afaik normal, weil selbst signiert.

bekomme nun ne aufforderung, mich anzumelden (benutzername und passwort), wenn ich die adresse mit https eingebe.

normalerweise sollte er mir doch aber den inhalt zeigen, wie ich ihn sonst auch mit http bekomme? hab in dem verzeichnis eig. keine .htaccess liegen, zumal er mir dies für jedes verzeichnis zeigt.

//EDIT: hatte doch ne alte .htaccess drinn und für ssl nicht AllowOverride None drinn, scheint alles zu funktionieren!

was mir in den logs aufgefallen ist, sind folgende zeilen:

[Wed Aug 12 15:06:43 2009] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]

[Wed Aug 12 15:06:43 2009] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)

[Wed Aug 12 15:06:44 2009] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)

SessionCache dient doch lediglich der performance, oder?

was haben die anderen beiden warnungen zu sagen?

Bearbeitet von SYNACK

In deiner Config fehlen noch ein paar Directory Optionen. Versuchs mal damit:

       <Directory /usr/local/www/htroot>

               DirectoryIndex index.html index.htm index.php

               AllowOverride Options AuthConfig

       </Directory>

EDIT: Sehe grade das hat sich erledigt :D

Hast du auch mal ins ssl_error_log geschaut? Steht da evtl. mehr? Ich glaube die anderen beiden Meldungen sind normal bei einem selbsterstellten Zertifikat..

Zum SSLSessionCache findest du hier eine ganz gute Beschreibung: http://wiki.apache.org/httpd/SSLSessionCache

Bearbeitet von Dio

[Wed Aug 12 15:06:43 2009] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)

[Wed Aug 12 15:06:44 2009] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)

Vermutung:

Das sieht aus als wenn du ein CA-Zertifikat als normales SSL-Zertifikat genommen hast. Mit dem CA-Zertifikat unterschreibst du ja nur dein Zertifikat für den Webserver.

ich bedanke mich für die hilfe, hab noch n bissl rumgebastelt und es läuft anscheinend jetzt alles.

danke für die kompetente hilfe :-)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.