ひとりごと

新しい記事:[1162]  古い記事:[1160] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2004/04/13 (火)

・ バーチャルホストでログ整理

以前なんちゃってサブドメインの件で Apache でバーチャルホストというのが使えるのだな~と感心していたのですが、今回はぜんぜん関係のない使い方。

WWWサーバのログを流していますと、どっかのパソコンで感染したウイルスが発するリクエストがときどき入ってくるのですねー。ちょっと前に流行ったものでは ping に応答しないようにしていれば来なかったのですが、中には来る物もあるようです。WWWサーバの負荷自体はウイルスのリクエストごときで問題になるほどではないのですが、 'GET / HTTP/1.0\r\r' というまっとうなリクエストでは振分け不可能なのと、バッファオーバーフローをねらったアクセスでは一行が果てしなく長いからいやですし、じゃまなのです。

ということで、バーチャルホストの出番。たぶんこの機能はHTTPリクエストの Host: のところで振分けてると思うのですが、ウイルスのランダムアタックではIPアドレスからおっかけてきますので、うちのドメイン(toriyu.dd.que.ne.jp)はリクエストを送った側も知りません。ということで、ちゃんとドメイン名を指定してアクセスしてきた場合と、それ以外を振分けてやれば余計なアクセスに関してはログにあらわれないことになります。

NameVirtualHost *

<VirtualHost *>
    ServerName www.toriyu.dd.que.ne.jp
    CustomLog /var/log/httpd-iranai.log combined
</VirtualHost>

<VirtualHost *>
    ServerName toriyu.dd.que.ne.jp
</VirtualHost>
ひとつめの 'www.toriyu.dd.que.ne.jp' では www. の部分には特に意味はないのですが、すべての ServerName にマッチしなかった場合は始めの項目が使われるそうなので、使っていない名前を置いています(^^;)。本来ならば DocumentRoot を切り替えて使うと思うのですが、ここでは応答は同じにしてログだけ分けています。本当に Host: を送ってこないクライアントもありますし、そもそもログに出てくるのがいやなだけなので隠してしまえば何も問題ないのです(^_^)。

ということで、関係のないリクエストはあんまり見えないようになりました。一部のサーチエンジンのクロールも見えなくなってすっきりです。ただ、そもそも山のように存在していたわけではないので、それほど効果はありませんでした(←オチ)。

□ 関連記事

[つっこみ]

新しい記事:[1162]  古い記事:[1160] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)