Hallo zusammen,
Bin neulich auf das Problem gestoßen. Irgendwie wird den Passwortschutz nicht richtig behandelt.
Folgende Ausgangsposition:
System: Debian Wheezy 7.5 + LiveConfig 1.7.3-r2921 + NginX 1.2.1-2.2
Webseite unter "/var/www/web1/htdocs/website"
Dann will ich diese Webseite sperren und mit Passwort schützen. Wenn ich das Passwortschutz über LiveConfig setze, wird dann in web1.conf folgenden EIntrag gemacht:
root "/var/www/web1/htdocs/website/";
....
....
# password-protected directories:
location /website/ {
auth_basic "Shopware";
auth_basic_user_file /var/www/web1/conf/.htpasswd;
}
Diesen Eintrag wird bei alle Vhosts(konfigurierte Domains) dieses Benutzers hinzugefügt. Diese Konfiguration kann aber nie in Kraft gesetzt werden, da dieses Verzeichnis als (dokument) root von dem VHost ist und nach der Konfiguration als Unterverzeichnis gesucht wird. Daher ist der Passwortschutz komplett unbrauchbar.
Wie soll es sein?
Passwortschutz sollte eigentlich per VHost gemacht werden. Mögliche Verzeichnisse sind dann "/" und Unterverzeichnisse des (document) root des VHosts. Der Eintrag soll dann so aussehen:
location ~ / {
auth_basic "Shopware";
auth_basic_user_file /var/www/web1/conf/.htpasswd;
}
oder
location ~ /unterverzeichnis/ {
auth_basic "Shopware";
auth_basic_user_file /var/www/web1/conf/.htpasswd;
}
Ausserdem soll diese Konfigurationsblock vor jeder Dateidefinition liegen. Ansonsten kann es vorkommen, dass diese Dateien innerhalb des geschützten Bereiches trotzdem aufgerufen werden können.
Dobrev