You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@httpd.apache.org by Frank Thommen <fr...@drosera.ch> on 2008/12/17 18:25:35 UTC

https-Umleitung fuer authentifizierte Seiten funktioniert nicht richtig

Hallo zusammen,

ich habe gerade einen Knopf, den ich auch mit Freund Google nicht loesen 
konnte.  Die Loesung ist bestimmt einfach, aber ich komme im Moment 
nicht drauf.

Problem:
In einem Verzeichnis sollen alle Files auf https umgeleitet werden, 
falls jemand mal auf den Gedanken kommen sollte, ohne https darauf 
zuzugreifen.  Gleichzeitig ist fuer den Zugriff eine Authentifizierung 
noetig (weswegen https erzwungen werden soll).  Die Konfiguration soll - 
wenn moeglich - per .htaccess geschehen.  Alle Files enden auf .html. 
Der Ablauf soll also sein:

Zugriff per http -> Umleitung auf https -> Authentifizierung

In der Server-Konfiguration ist "AllowOverride All" fuer das betreffende 
Verzeichnis fuer den jeweiligen VirtualHost fuer Port 80 und 443 
gesetzt.  Das .htaccess-File sieht so aus:

-------
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

<Files *.html>
   AuthType     basic
   AuthName     "TEST"
   AuthUserFile /blah/blah/passwd
   require      valid-user
</Files>
-------

Was wirklich passiert:

A) Zugriff auf http://server/verzeichnis -> Umleitung auf 
https://server/verzeichnis/ und Fehlermeldung 401 (Authorization 
required).  Keine Login/Passwort-Abfrage!

B) Zugriff auf http://server/verzeichnis/index.html -> 
Login/Passwort-Abfrage (unverschluesselt!!) -> Umleitung auf 
https://server/verzeichnis/index.html -> Login/Passwort-Abfrage 
(verschluesselt)


Einmal authentifiziert funktioniert auch A.


Die Auth-Direktiven aus dem Files-Container herauszunehmen hilft auch 
nicht viel (ausser dass Fall A funktioniert).  Ich brauche aber den 
Container, denn schlussendlich werden verschiedene Files verschiedene 
Authentifizierungen brauchen (htpasswd und LDAP, je nach File).

Irgendein Hinweis, wo der Haken ist?


Gruss

     frank

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-de-help@httpd.apache.org


Re: https-Umleitung fuer authentifizierte Seiten funktioniert nicht richtig

Posted by Frank Thommen <fr...@drosera.ch>.
Hallo Bob,

> Das ist normal. Im Verzeichniskontext läuft Access/Auth grundsätzlich
> vor mod_rewrite, deswegen kommt die PW-Abfrage auch vor dem Redirect.
> [...]

Danke, das war mir nicht bewusst.  Ich werde wohl doch - wie auch schon 
von Emil vorgeschlagen - den Redirect zentral eintragen lassen.


> Was mir noch einfällt...: Der User ruft .html auf, die Dateien lauten
> tatsächlich aber .htmlx. Ruft der User .html unter %{HTTPS} =off
> (nutze den Gleichheitsoperator, dann wird er Wert nicht als RegEx
> behandelt), sendest du einen Redirect auf https. Unter unter %{HTTPS}
> =on nutzt du ein Rewrite (also intern) auf htmlx und sicherst htmlx
> ab.  Nun ja, das ist nicht unbedingt das Wahre, oder?

Nicht wirklich ;-), aber ein trotzdem eine interessante Ueberlegung.


Vielen Dank

     frank

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-de-help@httpd.apache.org


Re: https-Umleitung fuer authentifizierte Seiten funktioniert nicht richtig

Posted by Bob Ionescu <bo...@googlemail.com>.
Am 17. Dezember 2008 18:25 schrieb Frank Thommen <fr...@drosera.ch>:
> Was wirklich passiert:
>
> A) Zugriff auf http://server/verzeichnis -> Umleitung auf
> https://server/verzeichnis/ und Fehlermeldung 401 (Authorization required).
>  Keine Login/Passwort-Abfrage!

Ohne trailing Slash? Da sollte mod_rewrite eigentlich seit Apache
2.0.48 nicht laufen, da dies gerne zu Problemen mit mod_dir führt.
Allerdings baute r104840 mit 2.0.51 eine Regression ein (ein '!' fehlt
zur Negierung), womit mod_rewrite im 2.0er-branch nun doch wieder
aktiv wird, wenn das Verzeichnis noch nicht richtig (also ohne
trailing Slash) erreicht wurde.

> B) Zugriff auf http://server/verzeichnis/index.html ->
> Login/Passwort-Abfrage (unverschluesselt!!) -> Umleitung auf
> https://server/verzeichnis/index.html -> Login/Passwort-Abfrage
> (verschluesselt)

Das ist normal. Im Verzeichniskontext läuft Access/Auth grundsätzlich
vor mod_rewrite, deswegen kommt die PW-Abfrage auch vor dem Redirect.
Einzige Lösung: Den Redirect (wie bereits vorgeschlagen) im
Serverkontext (httpd.conf et al.) platzieren. Du kannst in die
httpd.conf auch weitere Konfigurationsdateien includieren, falls dir
eine Include-Zeile dort ggf. lieber ist, als mehrere Direktiven direkt
in der httpd.conf zu notieren.

Was mir noch einfällt...: Der User ruft .html auf, die Dateien lauten
tatsächlich aber .htmlx. Ruft der User .html unter %{HTTPS} =off
(nutze den Gleichheitsoperator, dann wird er Wert nicht als RegEx
behandelt), sendest du einen Redirect auf https. Unter unter %{HTTPS}
=on nutzt du ein Rewrite (also intern) auf htmlx und sicherst htmlx
ab.  Nun ja, das ist nicht unbedingt das Wahre, oder?

Bob

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-de-help@httpd.apache.org


Re: https-Umleitung fuer authentifizierte Seiten funktioniert nicht richtig

Posted by Frank Thommen <fr...@drosera.ch>.
> Allerdings, wenn ich im .htaccess statt mod_rewrite die Direktive
> 
>   Redirect permanent /verzeichnis https://server/verzeichnis
> 
> verwende, habe ich genau dieselben Symptome wie mit Rewrite 
> (Authentifizierung per non-SSL und erst danach die Umleitung)...

Sorry, quatsch.  Das geht natuerlich nicht weil ich mich sonst endlos 
umleite.  Trotzdem:  Ich suche eine .htaccess-Loesung.

frank

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-de-help@httpd.apache.org


Re: https-Umleitung fuer authentifizierte Seiten funktioniert nicht richtig

Posted by Frank Thommen <fr...@drosera.ch>.
Hallo Emil,

>> Problem:
>> In einem Verzeichnis sollen alle Files auf https umgeleitet werden,
> 
> Hm... also wenn es nicht unbedingt im .htaccess stehen muss, ist es eigentlich 
> ganz einfach: Im Eintrag für den virtuellen Host ohne SSL einen Redirect auf 
> den Host mit SSL eintragen:
> 
> <VirtualHost *:80>
> ...
>    RedirectPermanent /webmail https://www.hostbla.com/webmail
> ...

Hatte ich auch gedacht, aber httpd.conf moechte ich moeglichst nicht 
verwenden (es ist nicht mein Server).

Allerdings, wenn ich im .htaccess statt mod_rewrite die Direktive

   Redirect permanent /verzeichnis https://server/verzeichnis

verwende, habe ich genau dieselben Symptome wie mit Rewrite 
(Authentifizierung per non-SSL und erst danach die Umleitung)...

    frank

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-de-help@httpd.apache.org


Re: https-Umleitung fuer authentifizierte Seiten funktioniert nicht richtig

Posted by Emil Obermayr <no...@nobswolf.info>.
Am Mittwoch, 17. Dezember 2008 schrieb Frank Thommen:

> Problem:
> In einem Verzeichnis sollen alle Files auf https umgeleitet werden,

Hm... also wenn es nicht unbedingt im .htaccess stehen muss, ist es eigentlich 
ganz einfach: Im Eintrag für den virtuellen Host ohne SSL einen Redirect auf 
den Host mit SSL eintragen:

<VirtualHost *:80>
...
   RedirectPermanent /webmail https://www.hostbla.com/webmail
...

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-de-help@httpd.apache.org


Re: https-Umleitung fuer authentifizierte Seiten funktioniert nicht richtig

Posted by Frank Thommen <fr...@drosera.ch>.
Sorry, Nachtrag:

   Apache    = 2.0.52
   Platfform = CentOS 5.2

frank

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-de-help@httpd.apache.org