Limitações do CentOS 7 httpd / server-status

3

Eu tenho o VPS (usando o CentOS 7 como meu sistema operacional) e agora estou configurando o Munin (software de monitoramento). Eu tive um pequeno problema com o monitoramento do Apache.

Agora eu tenho esse cfg no meu link e tudo funciona bem:

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from localhost
</Location>

munin terminal:

munin-node-configure --suggest | grep apache
apache_accesses            | yes  | yes                                    
apache_processes           | yes  | yes                                    
apache_volume              | yes  | yes 

Mas com essas configurações, /server-status está disponível em todos os domínios do servidor:

example.com/server-status
example.net/server-status
192.0.2.1/example-status

Eu quero alcançar algo assim:

example.com/server-status  ---> ERROR 404
example.net/server-status ---> ERROR 404
192.0.2.1/example-status     ---> OK

Então, quando eu movo o cfg do httpd.conf para o meu arquivo padrão vhost , que agora parece:

<VirtualHost _default_:80>
    DocumentRoot /var/www/server
    ErrorLog /var/log/www/server_error.log
    CustomLog /var/log/www/server_requests.log combined
</VirtualHost>

E depois da atualização:

<VirtualHost _default_:80>
    DocumentRoot /var/www/server
    ErrorLog /var/log/www/server_error.log
    CustomLog /var/log/www/server_requests.log combined

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from localhost
</Location>
</VirtualHost>

Munin então pára de monitorar o serviço do apache e diz:

apache_accesses            | yes  | no [apache server-status not found. check if mod_status is enabled]
apache_processes           | yes  | no [apache server-status not found. check if mod_status is enabled]
apache_volume              | yes  | no [apache server-status not found. check if mod_status is enabled]

PS: o servidor não tem nome de host (quero dizer domínio), estou usando o IP do servidor como seu nome de host agora

Você pode me ajudar a atingir a configuração necessária?

    
por pes502 22.04.2015 / 12:59

1 resposta

1

Acho que você poderia criar um vhost com o ServerName desejado. O ServerName em uma configuração de host virtual baseada em nome é mapeado para o que quer que seu navegador / cliente HTTP coloque no campo de cabeçalho Host .

Então, isso deve funcionar:

<VirtualHost *:80>
    ServerName 192.168.1.2
    DocumentRoot /var/www/server
    ErrorLog /var/log/www/server_error.log
    CustomLog /var/log/www/server_requests.log combined

    <Location /server-status>
        SetHandler server-status
        Order deny,allow
        Deny from all
        Allow from localhost
    </Location>
</VirtualHost>

Os documentos do Apache ( link ) especificam que você pode usar um IP como ServerName, e explique como o ServerName funciona da seguinte maneira:

If you are using name-based virtual hosts, the ServerName inside a section specifies what hostname must appear in the request's Host: header to match this virtual host.

    
por 06.03.2017 / 11:58