apache password protection excl. einiger netze

tassilo

Stammuser
moin moin

ich möchte das alles was mein apache ausliefert für einen bestimmten vhost passwort geschützt ist. das habe ich hinbekommen.
nun möchte ich das immer noch alles pwd geschützt ist aber bestimmte netze ohne die passwort abfrage auskommen (z.b. bei mir zu hause oder wenn ich übers vpn drin bin)

mein versuch :

Code:
<VirtualHost *:80>
    DocumentRoot "/opt/www/test.website.com/"
    ServerName test.website.com
    ErrorLog "/opt/www/logs/test.website.com-error_log"
    CustomLog "/opt/www/logs/test.website.com-access_log" combined

<Directory "/opt/www/test.website.com/">
    Options -Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
#
    AuthType Basic
    AuthName "Restricted area!"
    AuthUserFile /etc/httpd/vhost/test.website.com.pwd
    Require valid-user
#    Order deny,allow
#    Deny from all
#    Allow from 10.10.0.0/8
#    Allow from 192.168.178.0/23

</Directory>


RewriteEngine on
RewriteLog /opt/www/logs/rewrite.log
RewriteLogLevel 1

</VirtualHost>

das o.g. funktioniert bei mir wunderbar, wenn ich versuche mit "allow from" die netze freizugeben (das was ich auskommentiert habe) bekommt jeder der nicht in den netzten ist die apache default seite angezeigt...

falls mich jemand in die richtige richtung weisen könnte wäre ich dankbar.

grüße
 

bitmuncher

Senior-Nerd
Ich würde mal tippen, dass da lediglich noch ein "Satisfy any" fehlt. Dadurch wird sichergestellt, dass entweder die htpass-Abfrage oder die IP zutreffen muss, während "Satisfy all" (die Default-Konfiguration für Satisfy) dafür sorgt, dass alle Kriterien matchen müssen. D.h. in deinem Beispiel, dass die IP eine Passwort-Abfrage vorgesetzt bekommt, während für andere IPs das Vhost quasi nicht existent ist, weswegen das Default-DocRoot bzw. das erste VHost ausgeliefert wird.
 
Oben