Eu descomentei a seção padrão:
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
em seguida, reiniciei o apache ('Sintaxe OK')
Quando corro links http://127.0.0.1/server-status
, vejo a página de erro 404.
# apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
_default_:443 site.com (/etc/httpd/conf.d/ssl.conf:74)
*:80 is a NameVirtualHost
default server site.com (/etc/httpd/sites-enabled/www.site.com.conf:1)
port 80 namevhost site.com (/etc/httpd/sites-enabled/www.site.com.conf:1)
alias www.site.com
Syntax OK
Também tentei inserir o 'Location'
bloco <VirtualHost>
e usar o nome de domínio em vez de, 127.0.0.1
mas sem sorte.
Eu verifiquei se estou no arquivo de configuração apropriado inserindo a diretiva incorreta intencionalmente, esse é o arquivo correto.
O que estou fazendo errado?
Eu tive o mesmo problema e parece que a causa foi semelhante: meu aplicativo tinha um arquivo .htaccess com o seguinte:
Isso teve precedência sobre a seção Localização. Está reescrevendo todos os URLs que não apontam para um arquivo real, e isso inclui server-status. Ao adicionar outro RewriteCond antes do RewriteRule, consegui corrigi-lo:
Outra abordagem é adicionar um Alias que mapeie a URL de status do servidor para um diretório diferente, que não use o arquivo .htaccess. Parece que isso pode até ser um diretório que não existe:
Ao atualizar do httpd 2.2 para 2.4, também tive que conceder acesso a este diretório fictício: