LoginSignup
4
4

More than 5 years have passed since last update.

Apache Virtual Host で存在しないURLでアクセスするとディレクトリ内の意図せぬvhost設定が読みこまれる

Last updated at Posted at 2016-02-14

はまったのでメモ

現象

開発サーバーに aa.sample.com というドメインを割り振り、Apacheのバーチャルホスト機能でドキュメントルートを設定。

今回のバーチャルホストは /etc/httpd/vhosts に格納されており、ファイル名はaa.sample.com.conf としていました。
(バーチャルホストの設定方法はこちらから)

そして、この開発サーバーには別のドメインも割り振られていてました。
仮に dummy.whizzy.co.jp とします。

dummy.whizzy.co.jp は、過去にはgoogleのクロール対象ともなっていましたが、コンテンツを破棄し既に運用していません。
従い、 dummy.whizzy.co.jp のdocument root は空の状態です。

また、バーチャルホストの設定 (confファイル) も破棄しているため、dummy.whizzy.co.jp については、ドメインが開発サーバーを向いているだけという状態です。(DNS設定を削除し忘れ)

このように dummy.whizzy.co.jp についてはバーチャルホストの設定をしていないため、 dummy.whizzy.co.jp にアクセスすると、デフォルトのドキュメントルー /var/www/html を見に行くであろうと考えていたため全く考慮しておりませんでした。

しかし、ここに落とし穴があったのです!

vhostが設定されていないURLの場合、WebサーバーのApacheの挙動としてバーチャルホストの設定ファイルのうち、アルファベット順で一番早いファイル(今回は、 aa.sample.com.conf )を見に行くという挙動を行っていたようで(下記参考URL参照)、結果として dummy.whizzy.co.jpaa.sample.com と同一内容になってしまっていました。

更に dummy.whizzy.co.jp は過去にGoogleのクロール実績があったため、aa.sample.com にアップロードした内容が dummy.whizzy.co.jp としてGoogleにインデックスされてしまいました。

解決策

1.conf を作り、そこで default の /var/www/html 等を見るようにしておき、そこには当たり障りのないコンテンツを置いておく。

参考URL

http://blog.flatlabs.net/20100301_204946/

後日談

googleにindexからの削除要請をして、ようやく見えなくなりました。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4