この動作は非常に奇妙だと思ったので、ここで質問します。
このロケーション ブロックを取得します。
location ~ /(wp-config.php|readme.html|licence.txt|license.txt|readme.txt) {
access_log /var/log/nginx/blocked.log blocked;
deny all;
}
ログファイルには何も記録されませんが、すべてを否定する; - そうです。同じことが403を返す等
ブロックされたリクエストをログに記録したい。
nginx version: nginx/1.8.0
アップデート
この原因は、独自のエラー ページを定義した場合にあるようです。例:
http { ..
error_page 403 /error/403.html;
error_page 404 /error/404.html;
.. }
これらの行を削除すると、ログ記録が可能になりました
答え1
確認事項:
- を定義しましたか
blocked
? - またはログファイルへのパスは正しいですか?
- おそらく一致するか類似している
location
ので、注文を確認してくださいwp-config.php
location ~ \.php$
nginx: 1.7.11.1
私の環境では、Windows 環境ですが、Gryphonで動作します。
私の設定は次のとおりです:
http {
...
log_format robots '$remote_addr - $remote_user [$time_local] '
'$host "$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
...
server {
...
location ~/(robots.txt|readme.html) {
access_log logs/nginx-access-robots.log robots;
deny all;
}
...
}
}