authentication - Cómo lograr "AuthType None" en Apache 2.2
apache2.2 (6)
Algo como abajo funciona para mí con apache 2.2. Lo tomé de http://httpd.apache.org/docs/2.2/mod/core.html#require
<Directory /www/docs>
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user
</Directory>
<Directory /www/docs/public>
# All access controls and authentication are disabled
# in this directory
Satisfy Any
Allow from all
</Directory>
http://httpd.apache.org/docs/trunk/mod/mod_authn_core.html#authtype habla sobre "AuthType None", y tiene un impresionante ejemplo de lo que necesito hacer, desafortunadamente, parece ser nuevo en 2.3 /2.4. ¿Hay alguna característica equivalente en 2.2?
El tipo de autenticación Ninguno deshabilita la autenticación. Cuando la autenticación está habilitada, normalmente es heredada por cada sección de configuración posterior, a menos que se especifique un tipo de autenticación diferente. Si no se desea autenticación para una subsección de una sección autenticada, se puede usar el tipo de autenticación None; en el siguiente ejemplo, los clientes pueden acceder al directorio / www / docs / public sin autenticarse:
<Directory /www/docs> AuthType Basic AuthName Documents AuthBasicProvider file AuthUserFile /usr/local/apache/passwd/passwords Require valid-user </Directory> <Directory /www/docs/public> AuthType None Require all granted </Directory>
Creo que tienes razón: no es compatible con Apache 2.2.
Intentaría la solución desagradable en https://issues.apache.org/bugzilla/show_bug.cgi?id=10932
Algo como:
<DirectoryMatch "^/www/docs/(?!public)">
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user
</Directory>
o
<DirectoryMatch "^/www/docs/[^p][^u][^b][^l][^i][^c]">
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user
</Directory>
Esto funcionó para mí en apache2.2:
<Location /trac>
#....
AuthType Basic
AuthName "BLA domain"
AuthUserFile /etc/.passwd
Require valid-user
Allow from all
Satisfy Any
</Location>
Solo necesita establecer Permitir de todos y Satisfacer a cualquier
Esto funcionó para mí:
Alias /example "/opt/example.com"
<Directory "/opt/example.com">
Options None
AllowOverride None
Order allow,deny
Allow from all
Satisfy Any
</Directory>
Solo quería agregar este poco de información:
En Apache 2.2.22 necesita tener el orden correcto para que funcione:
Esto no funcionó para mí para la ubicación "/ foo / sub":
Satisfy Any
Allow from all
Es decir, aún se aplicó la autenticación desde la ubicación "/ foo" definida antes de "/ foo / sub".
Esto funciona para la ubicación "/ foo / sub":
Allow from all
Satisfy Any
Es decir, se anuló la autenticación de la ubicación "/ foo" definida antes de "/ foo / sub".
<Directory /www/docs/public>
AuthType None
Require all granted
Satisfy Any
</Directory>
Esto funcionará