Монит: не может подключиться к интерфейсу http

8

Я настраиваю monit на новом сайте, который я буду называть mywebsite.com во время этого вопроса. Я настроил конфигурацию для доступа к странице веб-интерфейса Monit, но не могу подключиться к ней. У меня есть базовый брандмауэр, работающий с iptables, и я думаю, что я сделал дыру для monit, но я не могу подключиться к веб-интерфейсу monit, и я не знаю почему.

Я еще ничего не настроил для мониторинга: моя конфигурация monit выглядит так:

## Start monit in the background (run as a daemon):
set daemon  120           # check services at 2-minute intervals

set httpd port 2812 and
  use address mywebsite.com  
  allow localhost      
  allow admin:password

Я перезапустил monit с этими правилами.

Я сделал правило для monit в своем конфиге iptables, который выглядит так:

#monit interface
-A OUTPUT -p tcp --dport 2812 -j ACCEPT
-A INPUT -p tcp --dport 2812 -j ACCEPT

Затем я импортировал эти правила в /sbin/iptables-restore. Я могу видеть запись Monit, когда я делаю sudo /sbin/iptables -L:

...
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:2812 
...

Но, когда я иду в, http://mywebsite.com:2812я получаю Error code: ERR_EMPTY_RESPONSEв браузере.

Любые идеи, кто-нибудь? Я даже не знаю, связана ли проблема с iptables. Заранее спасибо Макс

РЕДАКТИРОВАТЬ: я попытался изменить строку «localhost» в конфигурации Monit таким образом:

set httpd port 2812 and
  use address mywebsite.com  
  allow mywebsite.com      
  allow admin:password

но это не имело никакого значения.

Макс Уильямс
источник
Кажется, вы разрешаете только localhost. Вы должны разрешить свои подсети.
krisFR
спасибо - см. редактирование, это то, что вы имели в виду под "разрешить свои подсети"?
Макс Уильямс

Ответы:

15

Чтобы получить доступ к Monit извне, просто установите:

Без аутентификации и доступа отовсюду:

set httpd port 2812

Для доступа отовсюду с аутентификацией:

set httpd port 2812
   allow <auth_user>:<auth_password>

В вашем случае удалите andв конце строкиset httpd port 2812 and

Примечание . Если вы тестируете установку с паролем, установленным как «пароль», вы получите эту ошибку:

Error: syntax error 'password'
krisFR
источник
1
это сработало - спасибо! Часть «и» пришла с этого сайта - tecmint.com/… Возможно, это осталось от более старой версии monit с другим синтаксисом конфигурации?
Макс Уильямс
1
Нет, потому что в этом уроке они всегда имеют дело с localhost. Они не объясняют, как получить доступ извне localhost (посмотрите URL-адрес на их экране печати)
krisFR
Это мне очень помогло, и я люблю monit
Сезар
Я подозреваю , что вы должны указать , по крайней мере , один между allowи credentialsдирективами. См. Serverfault.com/a/900823/459872
Davide Cavestro
просто настройка httpd порта 2812 без разрешения больше не работает. monit: monit httpd не запущен, так как никакие соединения не разрешены
roothahn