Как выполнить "AuthType None" в Apache 2.2

http://httpd.apache.org/docs/trunk/mod/mod_authn_core.html#authtype говорит о "AuthType None" и имеет отличный пример того, что мне нужно сделать - к сожалению, похоже быть новым для 2.3/2.4. Есть ли эквивалентная функция в 2.2?

Тип аутентификации None отключает аутентификация. Когда аутентификация он обычно унаследован каждый последующий раздел конфигурации, если другой тип аутентификации. Если аутентификация отсутствует желательно для подраздела аутентифицированный раздел, тип аутентификации Нет. в следующем примере клиенты могут доступ к каталогу /www/docs/public без аутентификации:

<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>

Ответ 1

Что-то вроде ниже работает для меня с apache 2.2. Я взял его из 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>

Ответ 2

Вам просто нужно установить Allow from all и Satisfy Any

Это сработало для меня:

Alias /example "/opt/example.com"

<Directory "/opt/example.com">
  Options None
  AllowOverride None
  Order allow,deny
  Allow from all
  Satisfy Any
</Directory>

Ответ 3

<Directory /www/docs/public>
AuthType None
Require all granted
Satisfy Any
</Directory>

Это будет работать

Ответ 4

Я думаю, что вы правы: он не поддерживается в apache 2.2.

Я бы попробовал уродливое обходное решение в https://issues.apache.org/bugzilla/show_bug.cgi?id=10932

Что-то вроде:

<DirectoryMatch "^/www/docs/(?!public)"> 
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user 
</Directory>

или

<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>

Ответ 5

Это работало для меня на apache2.2:

    <Location /trac>
       #....
       AuthType Basic
       AuthName "BLA domain"
       AuthUserFile /etc/.passwd
       Require valid-user
       Allow from all
       Satisfy Any
    </Location>

Ответ 6

Просто хотел добавить этот бит информации:

В Apache 2.2.22 вам нужно иметь правильный порядок: [/p >

Это не сработало для меня для местоположения "/foo/sub":

Satisfy Any
Allow from all

I. Была применена аутентификация из местоположения "/foo", определенного до "/foo/sub".

Это работает для местоположения "/foo/sub":

Allow from all
Satisfy Any

т.е. аутентификация из местоположения "/foo", определенная до "/foo/sub", была аннулирована.