• 締切済み

apacheのNameVirtualHostについての質問です。

apacheのNameVirtualHostについての質問です。 サブドメインで別のサイトを運営したいのですが、 設定ファイルにて以下のように設定し、(ドメイン名は架空のものです) NameVirtualHost *:80 <VirtualHost *:80> ServerName site1.mydomain.com DocumentRoot /var/www/html </VirtualHost> <VirtualHost *:80> ServerName site2.mydomain.com DocumentRoot /var/www/html2 </VirtualHost> コマンドでの確認でも正常に設定できているようなのですが # httpd -S VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server site1.mydomain.com (/etc/httpd/conf.virtual/mydomain.conf:7) port 80 namevhost site1.mydomain.com (/etc/httpd/conf.virtual/mydomain.conf:7) port 80 namevhost site2.mydomain.com (/etc/httpd/conf.virtual/mydomain.conf:18) Syntax OK http://site2.mydomain.comでアクセスしてもsite1.mydomain.comのDocumentRootの/var/www/htmlの方が表示されてしまいます。 また、逆に設定ファイルにてsite2.mydomain.comを先に書くとdefault serverがsite2.mydomain.comになってhttp://site1.mydomain.comでアクセスしてもsite2.mydomain.comの内容が表示されてしまいます。 nslookupでは #nslookup site1.mydomain.com Name: site1.mydomain.com Address: xxx.xxx.xxx.xxx #nslookup site2.mydomain.com Name: site2.mydomain.com Address: xxx.xxx.xxx.xxx xxxとしていますが、どちらも正しいアドレスが引けているのでDNSの問題ではなさそうなのですが。。。 OSはCentOS 5.4、apacheのバージョンは2.3.3です。 どうかよろしくお願いします。

みんなの回答

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

ウェブサーバに HOST: ヘッダは届いていますよね。 tcpdump -nn -i eth0 -s 1500 -l -w - port 80 | strings | less して届いているヘッダ情報を確認してはいかがでしょうか。

shun0102
質問者

お礼

回答ありがとうございます。 指摘された通りtcpdump確認したところ、HOST: ヘッダは正しく届いていました。 もしかすると、passengerを使っているのでそっちの問題な気がしてきました・・・

関連するQ&A