人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Apache でバーチャルホストの設定をしているのですが、ドキュメントルートを読んでくれません。

<VirtualHost xxx.255.118.79:80>
ServerAdmin hoge@hoge.foo.com
DocumentRoot /var/www/html
ServerName main.foo.com
ErrorLog logs/main.foo.com-error_log
TransferLog logs/main.foo.com-access_log
</VirtualHost>

<VirtualHost xxx.255.118.79:8080>
ServerAdmin hoge@hoge.foo.com
DocumentRoot /opt/another_www/
ServerName anotherhost.foo.com
ErrorLog logs/host.foo.com-error_log
TransferLog logs/host.foo.com-access_log
</VirtualHost>

port が 8080 でアクセスしても /var/www/html を読んでしまいます。
httpd -S で確認したところ、ちゃんと設定できているようにも見えるのですが、何がまちがっているのでしょうか?

[iron@birdwatch html]$ sudo httpd -S
VirtualHost configuration:
xxx.255.118.79:80 main.foo.com (/etc/httpd/conf/httpd.conf:1012)
xxx.255.118.79:8080 anotherhost.foo.com (/etc/httpd/conf/httpd.conf:1020)
Syntax OK


●質問者: 匿名質問者
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号
ベストアンサー

> port が 8080 でアクセスしても /var/www/html を読んでしまいます
/var/www/html をアクセスしてしまうのは、このデフォルトサーバの名前で呼び出されているか、他のバーチャルホストに合致しない場合のハズです。
つまり、(デフォルトではない)バーチャルホストの期待されている呼び出し方ではないのだろうと予想します。


> xxx.255.118.79:8080 anotherhost.foo.com
となっているので、anotherhost.foo.com:8080 でアクセスしないとダメなのでは?


匿名質問者さんのコメント
そのとおりでした。Virtual Host を呼び出すのは、Apache が動いているマシンだから、インターナルのIPにしないといけなかったんですね。 <VirtualHost *:8080> で、期待通り /opt/another_www/ が表示されるようになりました。 ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ