| トップページ |

2007.12.26

ApacheでHostnameLookups offでもログにホスト名が記録される場合

このエントリーをはてなブックマークに追加 mixiチェック

年末に入りオンライン発注も落ち着いたので、ちょっとサーバの調子を見ようとログインしてapacheのログでも圧縮しとこうかなーと思ったんですけれども、ログ自体いつの間にかIPで記録されるはずのところが、ホスト名が記録されていて困りました。誰だこんな設定にしたの!
つうわけで、httpd.confのHostnameLookups offが効いていないわけです。VirtualHostすべてにHostnameLookups offを入れてみても効かないし!なんだこれ!

まずこれ。

HostNameLookups Offが効かなくて困った - うまい棒blog [d.hatena.ne.jp]

allow from localhost
 
allow from hogehoge.com
みたいに、名前で許可/拒否する設定が入っていると逆引きが発生するのかー。 そりゃそうだわな。普通に考えれば当然だ。

というわけで、httpd.confのなかを見てみたが、そんなところはなく。find / -name '.htaccess' なんてしてすべての.htaccessを見てみても、何ともなく。

つぎ、

.htaccess質問コーナー Part5 [mobile.seisyun.net] (2ちゃんのログだったらどこでもいいんだけどね)

811 名前:Name_Not_Found mailto:sage [2007/03/16(金) 08:24:48 ID:???]
Apache 2.2.3 上の .htaccess についての質問です。

Allow from 60.24.1.2 とか
Allow from 60.24. とかの設定をしても、HostnameLookups Off ならば勝手に逆引きされることはありません。

ただし、Allow from hoge.example.com と設定すれば当然逆引きされます。)

ここまでは良いのですが、不思議なことに、

Allow from 60.24.0.0/13

のようにCIDR形式でIPアドレスの設定をするだけで、勝手に逆引きされてしまうようです。
当然ながら、DNSサーバと通信する時間、遅延が生じてしまいます。

IPアドレスが60.24.0.0/13の範囲にあるかどうかを調べるのに、DNSの参照をする必要は全くないかと思いますが、
何故このような動作が行われるのでしょうか?

812 名前:811 mailto:sage [2007/03/16(金) 08:29:30 ID:???]
自己解決しました。

Deny from 60.24.0.0/13 # Baiduspider

みたいな書き方がいけなかったようです。

# Baiduspider
Deny from 60.24.0.0/13

にしたら勝手に逆引きされることはなくなりました。

前者は無効なコメント形式かと思いますが、Apacheでは内部的にはどう扱われているのかが気になります。
IPアドレス部分は正しく機能していたので、

前者は

Deny from 60.24.0.0/13
Deny from #
Deny from Baiduspider

みたいな意味として解釈されて、2つ目と3つ目で逆引きが実行されたという感じでしょうか?

...


あー!

deny from 220.194.55.45 #YICHA

入れてた。犯人は僕。

まとめると、「apacheの設定ファイルは、IPアドレスの設定をして後ろにコメントをつけるだけで、勝手に逆引きが必要と認識されてしまうので、HostnameLookups offになっていても、ログにはホスト名が記録されるようになってしまう。ホスト名の逆引きが時間かかる場合、スループットにも影響する。」

ということで、コメント取ったらログがIPに直りました。めでたし、めでたし。

2007.12.26 午後 03:04 [Linux] | |

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19018/17484530

この記事へのトラックバック一覧です: ApacheでHostnameLookups offでもログにホスト名が記録される場合:

コメント

コメントを書く