rewrite nach ssl

Apache, Lighttpd, nginx, Cherokee
Post Reply
Anonymous
 

rewrite nach ssl

Post by Anonymous »

Nachdem das andere jetzt klappt und ich (so bilde ich mir ein :wink: ) verstanden habe kommt nun mein nächstes Lernfeld.

Ich hab einen SSL-Proxy (ja nach faq) der so funktioniert wie er sollte.

Mittlerweile hab ich squirrelmail dazugespielt aus dem debian Paket. Somit gibt es unter /etc/squirrelmail/apache.conf einen VirtualHost der als docroot /usr/share/squirrelmail hat.

Da ich aber diese Verbindung nur mit ssl aufbauen möchte dachte ich mir, da baust de einfach eine Rewrite Rule ein und das Ding läuft von selbst.

NUR das beisst sich.

Code: Select all

RewriteEngine on
RewriteRule ^/([^/+])/(.*)  https://ssl.mislik.com/webmail/$1/$2  [R=301] 
dachte ich wär cool.
Er schreibt $1/$2 hinten dran, schickt das an den Proxy. Voila!

Geht nicht denn er hängt sich in ne Schleife.
Im access.log steht dann so Zeug.
217.160.201.39 - - [17/Nov/2003:21:58:08 +0100] "GET /src/login.php HTTP/1.1" 302 236 "-" "Opera/7.21 (X11; Linux i686; U) [de] "
80.136.71.89 - - [17/Nov/2003:21:58:08 +0100] "GET /webmail/src/login.php HTTP/1.1" 302 236 "-" "Opera/7.21 (X11; Linux i686; U) [de]"
Schreibt er so oft bis man auf ESC drückt.

Hoffe es reisst mir keiner den Kopf ab wenn ich meine IPs nicht aus xxxe :-)

Ich sah dann so nen Zusammenhang mit meiner ssldomain Datei und hab mal den Eintrag für webmail

Code: Select all

 webmail  webmail.mislik.com
auskommentiert.

Lustigerweise zeigt er mir jetzt an dass der rewrite richtig ist. Denn so steht es jetzt in der Browserleiste: https://ssl.mislik.com/webmail/src/login.php

Logischerweise hab ich ja nun meinen eintrag in der ssldomain nicht mehr drinn und die Sache geht nicht mehr durch den SSL-Proxy.
The requested URL /webmail/src/login.php was not found on this server.
Ich will nen Besen fressen wenn's da nicht ne easy Lösung dafür gibt, aber der Herr Eilebrecht hat das so geschrieben dass ich nicht durchblick in diesem Fall.

Kann mir jemand von der Leitung runterhelfen?
aschommer
Posts: 13
Joined: 2003-10-21 13:03
Location: Meerbusch
 

Tpipfehler ?

Post by aschommer »

RewriteRule ^/([^/+])/(.*) https://ssl.mislik.com/webmail/$1/$2 [R=301]
Ich denke, da ist ein Tippfehler: Statt

Code: Select all

^/([^/+])/(.*)
sollte

Code: Select all

^/([^/]+)/(.*)
da stehen - das plus gehört nicht in die Zeichenklasse.
Das Ergebnis verstehe ich aber auch nicht. Oder ist $1 vielleicht leer und unterwegs wird irgendwo ein "//" zu "/" zusammengefaltet ?
Anonymous
 

Re: rewrite nach ssl

Post by Anonymous »

Hoppla,

der Tippfehler existiert nur hier.

Ich hab nun mal den Eintrag in ssldomain wieder aktiviert.
Wenn Ihr webmail.mislik.com eingebt dann könnt Ihr sehen wie Euer Browser ausflippt.
Bitte rasch auf ESC drücken sonst laufen meine Logs voll 8O

Meine apache.conf sollte stimmen?

Code: Select all

      1 Alias /squirrelmail /usr/share/squirrelmail
      2
      3 <Directory /usr/share/squirrelmail>
      4 #  php_value register_globals On # refer to Debian bug #128226
      5   php_flag register_globals on
      6   Options Indexes FollowSymLinks
      7 </Directory>
      8
      9 # users will prefer a simple URL like http://webmail.example.com
     10 <VirtualHost 217.160.201.39>
     11   DocumentRoot  /usr/share/squirrelmail
     12   ServerName    webmail.mislik.com
     13
     14 # Umleitung auf SSL
     15   RewriteEngine on
     16 
     17   RewriteRule   ^/([^/]+)/(.*)  https://ssl.mislik.com/webmail/$1/$2
     18   </VirtualHost>
aschommer
Posts: 13
Joined: 2003-10-21 13:03
Location: Meerbusch
 

nochmal Suchmuster (?)

Post by aschommer »

Ich muß zugeben, daß ich nicht wirklich ahne, wo's langgeht :( ; trotzdem ein paar Ideen:
- Kann es vielleicht sein, daß das (.*) am Ende nicht wie gewünscht funktioniert ? (wieso eigentlich nicht ".+" ? So kann $2 ja leer sein !) Als Versuch würde ich mal vorschlagen, die Regel so zu ändern, daß was vollkommen unsinniges angesprungen wird - z.B. "#" statt "/" vor und (!) nach $1/$2. Dann kannst Du zumindest klar erkennen, was genau in $1/$2 landet.
- Müßte das zweite Muster nicht auch ([^/]+) sein, damit keine Rekursion entsteht ?
- Falls der ursprüngliche Log-Auszug stimmt: hast Du nur ein Log für http: und https: ? Oder hast Du die beiden Zeilen manuell zusammengeschmissen ? Auf jeden Fall scheint mir dieses Pärchen ziemlich seltsam, aber ich weiß auch nicht, was genau daran faul ist. Leider stimmt das SSL-Logging auf meinem eigenen Server nicht so ganz, ich bin mir ziemlich unsicher, was im SSL-Log auftauchen sollte - oder auch nicht...

Sorry, aber was besseres kommt mir dazu leider nicht in den Sinn :( .
Post Reply