#apache #docker #authentication #ldap #webserver
#apache #docker #аутентификация #ldap #веб-сервер
Вопрос:
Я запускаю веб-сервер Apache с базовой аутентификацией, например, следующим образом:
AuthType Basic
AuthName "Authentication required"
AuthUserFile "/usr/local/apache2/conf/.htpasswd"
Require valid-user
На самом деле конфигурация аутентификации / авторизации немного сложнее, потому что я запрашиваю сервер LDAP.
Я хотел бы иметь возможность использовать пользовательскую веб-страницу вместо традиционного всплывающего окна, которое поставляется с 401, которое Apache отправляет веб-браузеру.
Два вопроса:
- Способен ли Apache это сделать? (AFAIK, нет);
- Какой альтернативный продукт был бы хорошим вариантом, учитывая, что я запускаю все внутри контейнеров Docker, и он должен иметь возможность выполнять аутентификацию / авторизацию LDAP.
Ответ №1:
Вы можете добавить пользовательскую страницу ошибки 401, как описано в документации Apache здесь.
Но вам следует рассмотреть возможность использования вашей структуры в Location
(или какой-либо другой) структуре
ErrorDocument 401 /error/error401.html
<Location />
AuthType Basic
AuthName "Authentication required"
AuthUserFile "/usr/local/apache2/conf/.htpasswd"
Require valid-user
</Location>
Комментарии:
1. Спасибо, но эта директива ErrorDocument вступает в силу после выполнения аутентификации, в то время как мне нужен способ настроить веб-страницу, на которой пользователь вставляет свои учетные данные.
2. @espogian, я не уверен, что веб-сервер может это сделать. Вам понадобится сервер приложений и приложение для проверки подлинности с полной мощностью.