ELBのヘルスチェックのアクセスログを出力しない時のnginxの設定
AWSのELBはヘルスチェックといってアクセス状況を定期的に確認してくれている。 そのたびにログが吐かれて邪魔だったので、nginxの設定ファイルをいじってログを除外した。
nginxを利用したアプリケーションのログの設定をしたかったので、設定ファイルをいじった。
nginxの設定ファイルの場所
/etc/nginx/nginx.conf
nginx.confからincludeを使って他のファイルを読み込めるので、設定ファイルは複数ある可能性有。 記載例)include /etc/nginx/conf.d/log.conf;
本題
ユーザーエジェントを判定してログの出力を制御する。
こちらの記事を参考にmapモジュールでユーザーエジェントを判定してログを制御しました。
ひとつ迷ったところはmapモジュールの記載場所。
httpディレクティブの中に記載されていないとエラーになるので注意です。
記載したら確認。これ大事。
nginx -t
こいつが帰ってきたらOK。
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
最後に設定ファイルをリロードして完了。
systemctl reload nginx