Попытка настроить monit для использования протокола https, но он придерживается http

1050
Justin

Я пытаюсь контролировать VHost на локальном экземпляре Apache через Monit. Один и тот же домен принимает трафик http и https, поэтому я хотел контролировать оба.

Кроме того, IP-адрес, который разрешает домен, передается на сервер, который загружает баланс между трафиком между текущим экземпляром Apache и другим сервером, на котором работает Apache. Мне нужен Monit для мониторинга локального экземпляра, и я надеялся избежать добавления каких-либо записей в файл / etc / hosts, поэтому я подумал, что настройки конфигурации Monits with http headers []будет достаточно, и я думаю, что это так (просто отслеживание localhost, но настройка заголовки Hostк домену vhost).

В любом случае, главная проблема, с которой я, похоже, сталкиваюсь, заключается в том, что, хотя я и настраиваю Monit для мониторинга хоста по протоколам http и https, он контролирует оба хоста только по протоколу http, однако для порта, который мне нужен, установлен порт 443 протокол https .

Файл конфигурации Monit для Apache:

check process httpd with pidfile /var/run/httpd/httpd.pid start program = "/bin/systemctl restart httpd.service" with timeout 60 seconds stop program = "/bin/systemctl stop httpd.service"  check host localhost with address localhost if failed port 80 protocol http with http headers [Host: www.domain.com, Cache-Control: no-cache] and request / with content = "www.domain.com" then restart if failed port 443 protocol https with http headers [Host: www.domain.com, Cache-Control: no-cache] and request / with content = "www.domain.com" then restart if 5 restarts within 5 cycles then timeout 

А вот статус Monit для этой проверки:

[root@server enabled-monitors]# monit status localhost The Monit daemon 5.14 uptime: 14m  Remote Host 'localhost' status Connection failed monitoring status Monitored port response time FAILED to [localhost]:443/ type TCPSSL/IP protocol HTTP port response time 0.001s to [localhost]:80/ type TCP/IP protocol HTTP data collected Tue, 26 Apr 2016 10:44:32 

Так что для меня совершенно очевидно, что https дает сбой, потому что он все еще пытается использовать порт HTTP, хотя у меня есть protocol httpsв конфигурации.

Любой вклад будет высоко ценится. У меня такое чувство, что это может быть ошибкой, и я плохо создаю проблему в репозитории Monit Github, но я не хочу убедиться, что это не что-то глупое, что я упустил из виду.

Спасибо!

1

1 ответ на вопрос

0
v4d

Заголовок здесь не работает, поэтому я использую только простую проверку:

... if failed host www.host.com port 80 protocol http and request "/index.html" with timeout 25 seconds for 4 times within 5 cycles then restart if failed host www.host.com port 443 protocol https and request "/index.html" with timeout 25 seconds for 4 times within 5 cycles then restart ... 

Похожие вопросы