Tentando configurar o monit para usar o protocolo https, mas ele fica com http

1

Estou tentando monitorar um VHost na instância local do Apache via Monit. O mesmo domínio aceita o tráfego link e link , então eu queria monitorar os dois.

Além disso, o IP que o domínio resolve ir para um servidor que carrega equilibra o tráfego entre a instância atual do Apache e outro servidor que executa o Apache. Eu preciso que o Monit monitore a instância local , e eu estava esperando evitar adicionar quaisquer registros no arquivo / etc / hosts , então eu estava pensando que a config config de Monits with http headers [] seria suficiente, e eu acho que é (Apenas monitorando localhost , mas definindo os cabeçalhos Host para o domínio vhost).

De qualquer forma, o principal problema que parece estar correndo é que, embora eu configure o Monit para monitorar o host através dos protocolos link e link , ele monitora ambos os hosts via apenas link , no entanto, a porta é definida para 443 para o que eu preciso usando o protocolo link .

O arquivo de configuração do Monit para o 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

E aqui está o status da Monit para essa verificação:

[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

Portanto, é bastante óbvio para mim que o https está falhando porque ainda está tentando usar o HTTP da porta, mesmo que eu tenha protocol https na configuração.

Qualquer entrada seria muito apreciada. Eu tenho a sensação de que isso pode ser um bug, e mal criar um problema no repositório Monit Github, mas eu não quero ter certeza que não é algo bobo que eu esqueci.

Obrigado!

    
por Justin 26.04.2016 / 19:47

1 resposta

0

Cabeçalho não funciona aqui, então eu só uso uma simples verificação:

...
  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
...
    
por 16.07.2017 / 09:29