Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.
Модераторы: SLEDopit , Модераторы разделов
varjo
Сообщения: 43
ОС: ArchLinux, FreeBSD
Сообщение
varjo » 25.02.2010 13:02
Есть некоторый сайт, в .htaccess которого прописаны следующие директивы для basic auth:
Код: Выделить всё
AuthType Basic
AuthName "wut?"
AuthUserFile /some/folder/.htpasswd
<Limit GET POST>
require valid-user
</Limit>
Требуется чтобы basic auth был отключен для локальных обращений апача к самому себе.
Обернул выше написанное вот в такую конструкцию:
Код: Выделить всё
SetEnvIf Remote_Addr 127.0.0.1 internal
<IfDefine !internal>
AuthType Basic
AuthName "wut?"
AuthUserFile /some/folder/.htpasswd
<Limit GET POST>
require valid-user
</Limit>
</IfDefine>
но после этого basic auth отключается совсем для всех.
В каком месте я ошибаюсь?
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Сообщение
sash-kan » 26.02.2010 13:30
может быть, проще будет пару virtualhost-ов сделать? с разными настройками в конф. файле?
varjo
Сообщения: 43
ОС: ArchLinux, FreeBSD
Сообщение
varjo » 26.02.2010 15:09
Разобрался в чем ошибка
IfDefine не подхватывает переменные окружения, а только параметры переданные апачу при запуске.
Решил задачу методом обхода. Изначально на этот хост ходим через другой апач и mod_proxy, basic auth был непосредственно на конечном вхосте. Перенес его в проксирующий и стало как надо
: )