Ubuntu 12.10を実行していて、/etc/Apache2/Apache2.conf
に次の4つのVirtualHostエントリがあります
4つのVirtualHostエントリは、test.example.com
とtest2.example.com
の2つの別々のサイト用で、HTTP用とHTTPS用にそれぞれ1つずつあります。
<VirtualHost *:443>
DocumentRoot /var/www/test
ServerName test.example.com
# Other settings goes here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/test
ServerName test.example.com
# Other settings goes here
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/test2
ServerName test2.example.com
# Other settings goes here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/test2
ServerName test2.example.com
# Other settings goes here
</VirtualHost>
私の問題 Apacheを保存して再起動すると、次の警告が表示されます:-
* WebサーバーApache2を再起動しています [Sun Feb 17 18:30:09 2013] [警告] _default_ VirtualHostがポート443でオーバーラップしています。最初のものが優先されます ...待機中[ 2013年2月17日18:30:10] [警告] _default_ VirtualHostがポート443でオーバーラップし、最初のものが優先されます
/var/www/test
とtest.example.com
の両方を開くと、test2.example.com
のコンテンツが表示されます
問題は何ですか?
追加する必要がありますNameVirtualHost *:443
動作します。NameVirtualHost *:80
も設定に含まれている必要があります。おそらくデフォルトで設定されていますが、私はUbuntuを使用していないため、どのファイルを使用するかわかりません。
また、アドバイスの言葉:
単一のIPで複数のHTTPSサイトを実行することには欠点がある場合があり、特に古いクライアント(IE8/Windows XP)はSNIをサポートしません。
あなたの状況では完全に理にかなっているかもしれませんが(テストのみ、*。example.comワイルドカード証明書が使用されているなど)、これに注意する必要があります。