![Lokale SSL-Verbindungen verursachen eine Umleitungsschleife (nach Ubuntu-Update)](https://rvso.com/image/515667/Lokale%20SSL-Verbindungen%20verursachen%20eine%20Umleitungsschleife%20(nach%20Ubuntu-Update).png)
Nach einem kürzlichen Ubuntu-Update stellen meine lokalen Websites ihre Seiten nicht mehr über SSL bereit. Beispielsweise versucht meine .htaccess-Datei sicherzustellen, dass /sign-in immer über HTTPS bereitgestellt wird:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} /sign-in
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA,R=301]
Wenn ich jedoch eine Anfrage an /sign-in auf der Domäne site2-local stelle, erhalte ich die Fehlermeldung „Die Seite wird nicht richtig umgeleitet“ mit folgendem Inhalt/var/log/apache2/error.log
[Tue Jun 08 12:20:57 2010] [info] [client 127.0.1.1] Connection to child 0 established (server site1-local:443)
[Tue Jun 08 12:20:57 2010] [info] Seeding PRNG with 656 bytes of entropy
[Tue Jun 08 12:20:57 2010] [info] Initial (No.1) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.2) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.3) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.4) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.5) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.6) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.7) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.8) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.9) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.10) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:21:12 2010] [info] [client 127.0.1.1] (70007)The timeout specified has expired: SSL input filter read failed.
[Tue Jun 08 12:21:12 2010] [info] [client 127.0.1.1] Connection closed to child 0 with standard shutdown (server site2-local:443)
Es besteht eine Verbindung zu site1-local (einer anderen Site auf meinem Computer, die das Zertifikat teilt), die ich nicht verstehe.
Weiß jemand, was dieses Problem verursacht?
Antwort1
Ich weiß nicht, wo das Problem liegt, bin aber vor einiger Zeit selbst darauf gestoßen und habe eine Problemumgehung gefunden, bei der ich zum Erkennen von HTTPS-Anfragen eine andere Variable verwende.
Sie können entweder %{SERVER_PORT}
oder verwenden %{SERVER_PROTOCOL}
.
Es kann auch ein Problem mit der Groß-/Kleinschreibung sein. Es %{HTTPS}
kann auch „Off“ statt „off“ heißen.
In meinen SSL VirtualHosts habe ich SetEnv HTTPS on
eine Lösung für ein anderes Problem, das ich hatte, die aber auch Ihr Problem lösen sollte. Der eigentliche Grund, der diese Lösung erforderte, war, dass die %{HTTPS}
Variable nicht richtig eingestellt wurde. Wenn Ihre %{HTTPS}
Variable nicht eingestellt wird, sollte das Problem durch manuelles Einstellen gelöst werden.
Antwort2
Ich denke, dass HTTPS nicht immer eingestellt werden kann, wenn SSL nicht eingeschaltet ist. Daher wäre es in der Tat eine gute Lösung, den Port zu testen (%{SERVER_PORT}).
Antwort3
Stellen wir zunächst sicher, dass Apache auf dem https-Port lauscht:
lsof -i:443
Wenn Sie keine Ausgabe finden, liegt das Problem eher am SSL-Modul als an der Umschreiberegel, insbesondere, da Sie sagen, dass dieselbe Regel vor dem Upgrade ordnungsgemäß funktioniert hat.
Bitte überprüfen Sie auch, dass beim Ausführen apache2ctl -t
keine Fehler oder Warnungen ausgegeben werden