Apacheの「/var/log/httpd/access_log」を確認していたら、以下のログが頻繁に発生していました。
1 2 3 |
::1 - - [24/May/2015:15:34:37 +0900] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.2.29 (Amazon) (internal dummy connection)" ::1 - - [24/May/2015:15:34:38 +0900] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.2.29 (Amazon) (internal dummy connection)" ::1 - - [24/May/2015:15:34:39 +0900] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.2.29 (Amazon) (internal dummy connection)" |
アクセス元は「::1」なのでlocalhostからのアクセスのようです。
ぐぐってみるとApache2.2以上の仕様のようです。自分の使ってるapacheのバージョンを確認すると
1 2 |
httpd -V Server version: Apache/2.2.29 (Unix) |
と、いうわけで該当しています。
何故このようなログが出力されるようになったかの経緯は色々なサイトで記述されていますので詳しくはかきませんが、要は
「サーバの子プロセスを安全にシャットダウンできる機能ほ追加した→その機能にいろいろと条件があり、結果ダミー接続を行う必要があった→子プロセスの終了時にダミー接続のログが記録されるようになった」
ということのようです。
このログ結構頻繁に表示されていますので、ログに書き込まないように設定したいと思います。
httpd.confに以下の記述がありますが、これを書き換えます
1 |
CustomLog logs/access_log combined |
特定の文字列が含まれている場合はlogに記述しないようにしました。
1 2 |
SetEnvIf User-Agent "internal dummy connection" nolog CustomLog logs/access_log combined env=!nolog |
AWSでELBを使っている場合、ヘルスチェックによるアクセスも頻繁にログに書き込まれますよね。
1 2 3 |
10.*.*.* - - [24/May/2015:15:57:36 +0900] "GET /healthCheck HTTP/1.1" 200 2417 "-" "ELB-HealthChecker/1.0" 10.*.*.* - - [24/May/2015:15:58:20 +0900] "GET /healthCheck HTTP/1.1" 200 2417 "-" "ELB-HealthChecker/1.0" 10.*.*.* - - [24/May/2015:15:58:21 +0900] "GET /healthCheck HTTP/1.1" 200 2417 "-" "ELB-HealthChecker/1.0" |
これも以下の方法で対応できます。
1 2 3 |
SetEnvIf User-Agent "internal dummy connection" nolog SetEnvIf User-Agent "ELB-HealthChecker" nolog CustomLog logs/access_log combined env=!nolog |