Я пытался настроить nginx так, чтобы http://example.com/monit
получит доступ http://127.0.0.1:2812
, который прослушивает монитор.
Были установлены две аутентификации: через nginx (файл nginx.conf) и monit (файл monitrc).
Теперь, получив доступ http://example.com/monit/
, должны появиться две формы ввода, но после ввода второй (через monit) форма nginx снова появится. Кто-нибудь может указать, что не так?
(примечание: решить эту проблему легко - отключите одну базовую аутентификацию)
Я тестировал с debian jessie. извините, если он не воспроизводится
это мой /usr/local/nginx/conf/nginx.conf (установлен из исходников)
server{
...
auth_basic "restricted"
auth_basic_user_file /home/user/.htpasswd;
location /monit/ {
rewrite ^/monit/(.*) /$1 break;
proxy_pass http://127.0.0.1:2812;
}
}
Эта конфигурация требует, чтобы пользователь ввел имя пользователя / пароль для доступа к любому файлу в этой директиве сервера. если uri начинается с / monit /, он входит в директиву местоположения и передается в 127.0.0.1:2812
. просто.
Затем в / etc / monitrc я установил базовую аутентификацию.
set httpd port 2812 and
allow 127.0.0.1 # allow access only from localhost
allow admin:monit # user:password
это делает доступным monit только с localhost.