Apache2 VirtualHost その2

通常の Web (1) と Blog (2) とを同一ホスト上のコンテンツとは思われないようにする工夫について,それぞれのバーチャルホストを立てるよりも,もう少し進んだ設定をする。

昨日の設定では (2) から (1) の存在がわかってしまう問題がある。nslookup で (2) の IP アドレスを逆引きして IPアドレスでアクセスすると (1) のコンテンツが見えてしまうのだ。一方,(1) も (2) もドメイン名は無料ダイナミック DNS サービスから取得した別々のドメイン名を使うわけであるが,nslookup で逆引きした IP アドレスで再度 nslookup で名前解決させると,プロバイダの拠点ドメインホスト名が返されるはずである。このプロバイダドメインホスト名を URL に指定すると,やはり (1) が閲覧できる。この二つのアクセスパターンにより (1) (2) が実は同じサーバ上で運用されていることがばれてしまうのだ。

VirtualHost を三つ定義し,はじめのものをダミーにしておくと,IP アドレスやプロバイダ拠点のドメインホスト名でのアクセスができないようになる。つまり,ダミーのバーチャルホスト (0) を (1) (2) の前に定義しておくと,これがサーバのメインのバーチャルホストとなり,上記問題の二つのアクセスはこちらが受け付けてくれる。ダミーの DocumentRoot をコンテンツがなにもないパスに設定しておけば出力はなにもないのだから,(0) から (1) と (2) の存在に結びつける糸を断ち切ることができるというわけだ。(1) と (2) 個別に IP アドレスを逆引きして結果を照合してはじめて同一 IP のサイトだと知れるわけだが,この可能性はほぼゼロと考えてよい。

今日は家族みんなで焼き肉の食い納めだ。