1
リクエストがローカルネットワーク(192.168.x.xなど)から来た場合、アクセスログを代替ファイルにリダイレクトするにはどうすればよいですか? 私が見つけたのはsome hintsリクエスタIPに基づいてログを無効にする方法はありますが、私の場合、これらの要求を別のファイルに記録したいので、開発目的のためにその特定のファイルのみを参照します。ローカルリクエスト用のnginxの代替ログファイル
リクエストがローカルネットワーク(192.168.x.xなど)から来た場合、アクセスログを代替ファイルにリダイレクトするにはどうすればよいですか? 私が見つけたのはsome hintsリクエスタIPに基づいてログを無効にする方法はありますが、私の場合、これらの要求を別のファイルに記録したいので、開発目的のためにその特定のファイルのみを参照します。ローカルリクエスト用のnginxの代替ログファイル
答えは参照ページにありますので、1
と0
を取り消すだけです。
これは動作するはずです:
map $remote_addr $private_ip {
~^192\.168\. 1;
default 0;
}
map $remote_addr $public_local {
~^192\.168\. 0;
default 1;
}
server {
...
# access-private.log for requests from local network
access_log /path/to/access-private.log main if=$private_ip;
# access.log for all other requests
access_log /path/to/access.log main if=$public_ip;
...
}
EDIT:実際geo
ディレクティブは$remote_addr
をマッピングするためのより適切である:
geo $private_ip {
192.168.0.0/16 1;
default 0;
}
geo $public_local {
192.168.0.0/16 0;
default 1;
}
詳細についてはthis documentを参照してください。
0/1を逆にする必要があることはあまりにも明白ですが、ローカルネットワークからの要求のログを別のファイルに送ることについての質問がありました。私はあなたの答えを適切な解決策で修正しました – Pavel