На моем сервере apache2 я получаю доступ /server-status
чтобы проверить мой текущий статус веб-сервера. Я обнаружил, что mods-available / status.conf содержит фрагменты, отвечающие за отображение статуса.
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from localhost ip6-localhost
</Location>
Мой вопрос в том, как сделать его доступным не только для localhost, но и для удаленного хоста с аутентификацией?
в <Location /server-status>
строфы, включите как Allow from localhost
и директивы аутентификации. Ключ в том, чтобы использовать Satisfy Any
чтобы указать, что запросы от localhost могут обходить аутентификацию.
Редактировать: Явный пример, как запрошено (он просто объединяет все, что все сказали до сих пор):
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Satisfy Any
Allow from localhost ip6-localhost
AuthType basic
AuthName "Apache status"
AuthUserFile /etc/apache2/passwd-server-status
Require valid-user
</Location>
Чтобы разрешить другие хосты, вы можете просто обновить строку:
Allow from localhost ip6-localhost
читать:
Allow from localhost ip6-localhost 1.2.3.4 1.2.3
Для части аутентификации вы добавляете такой блок, как:
AuthType Basic
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen
В passwords
файл должен быть создан с использованием htpasswd
утилита. Посмотри на эта страница Больше подробностей.
Вы можете использовать что-то подобное:
<Location /server-status>
SetHandler server-status
AuthType basic
AuthName "Apache status"
AuthUserFile /etc/apache2/passwd-server-status
Require valid-user
</Location>
Кроме того, не забудьте создать файл паролей и учетную запись для себя с помощью следующей команды (замените имя пользователя с любым именем пользователя, которое вы предпочитаете):
htpasswd -c /etc/apache2/passwd-server-status username
каков риск того, что apache настроит обработчики состояния сервера. Я вижу этот файл на моем веб-сервере SetHandler server-status AuthType basic AuthName "Apache status" AuthUserFile / etc / apache2 / passwd-server-status Требовать действительного пользователя