Centos 7サーバーでNginxステータスページを有効にしようとしています。
私はEPELリポジトリからNginxをインストールしました。Nginxはstausページのサポートで構築されています:
[root@server ~]# nginx -V 2>&1 | grep -o with-http_stub_status_module
with-http_stub_status_module
単一の設定ファイル/etc/nginx/conf.d/status.confを追加しました:
server {
listen 80;
server_name localhost;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
再起動後、Nginxはステータスページを見つけることができません。
[root@server ~]# wget http://localhost/nginx_status
--2017-01-06 17:02:09-- http://localhost/nginx_status
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-01-06 17:02:09 ERROR 404: Not Found.
私がオンラインで見つけたすべてのチュートリアルまたは例は、これらが私がとるべきステップであると言っています。なぜ404を取得し続けるのですか?
server
ブロックにlisten
ディレクティブがありません:
listen [::]:80;
このディレクティブは、そのserver
のIPv6接続に応答するようnginxに指示します。残念ながらそれを省略し、IPv4接続のみに応答しています。
ただし、localhost
はIPv6アドレスに解決されるため(実際、IPv6はインターネット上のすべてのデフォルトプロトコルです)、リクエストはデフォルト設定に含まれるデフォルトのserver
ブロックによって処理されています、これはIPv6ではislisten
ingです。
IPv6(グローバルIPv6がまだない場合でも必須)およびIPv4(IPv4を使用する場合のみオプション)ですべてのserver
がlisten
を確実にブロックするように、さらに注意する必要があります。
私はあなたの設定に関する問題を見ることができません、それは403ではなく404です、それはそれがその設定を読んでさえいないことを意味するので、私が通るデバッグステップは次のとおりです:
netstat -plnt
)wget -SO- http://localhost/nginx_status
)おそらく何かが表示されます