CentOS Apache: базовая аутентификация, возвращающая 403 вместо 401

У меня есть три каталога в /var/www/html, один из них имеет.htacces со следующим:

Order Allow, Deny
Allow from all
AuthUserFile /var/www/.htpasswd
AuthGroupFile /dev/null
AuthName 'lalalal'
AuthType Basic

Require user lala

При отправке запроса в этот каталог сервер возвращает 403 вместо 401.
При запросе других каталогов сервер возвращает 200.
Также интересно то, что при проверке страницы с информацией о сервере нет ни одной строки, ссылающейся ни на защищенный каталог, ни на его родные элементы.

редактировать

Журнал ошибок показывает:
"В доступе отказано: /var/www/html/drugi/.htaccess pcfg_openfile: невозможно проверить файл htaccess, убедитесь, что он доступен для чтения"
Файл.htaccess имеет 644 разрешения.

2 ответа

Решение
Order Allow, Deny
Allow from all

Они не требуются, если вы используете HTTP-аутентификацию, и вы можете избавиться от них. (И Порядок нарушается, если после запятой есть пробел.)

Кстати, это хорошая идея, чтобы сохранить ваш файл htpasswd вне каталога веб-документов.

Поскольку вы обновили свой вопрос с дополнительной информацией, я бы сказал, что вы также должны проверить разрешения в каталоге с помощью ls -alZ проверить как разрешения Unix, так и контексты SELinux.

403 предполагает наличие ошибки прав доступа. Проверьте, что apache у пользователя есть разрешение на чтение файла.htaccess, то есть у него есть разрешение на просмотр в дереве каталогов drugi, поэтому r-x для других (если он не принадлежит apache) или r-x для владельца / группы, если он принадлежит apache или его группе.

Другие вопросы по тегам