
サイトのメイン ドメインではすでに SSL が実行されていますが、次の構成を使用するとサブドメインで SSL が実行されません。 * をサブドメインの名前などに置き換える必要がありますか?
#
# domain.com (/etc/apache2/sites-available/domain.com)
#
<VirtualHost *:80 *:443>
ServerAdmin [email protected]
ServerName www.domain.com
ServerAlias domain.com
ServerAlias XX.XX.XX.XX
# Directory Root.
DocumentRoot /sites/domain.com/www/
# CGI Directory
ScriptAlias /cgi-bin/ /sites/domain.com/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>
# Logfiles
ErrorLog /sites/domain.com/logs/error.log
CustomLog /sites/domain.com/logs/access.log combined
# Enable SSL
SSLEngine On
SSLCertificateFile /sites/domain.com/ssl/star_domain_com.crt
SSLCertificateKeyFile /sites/domain.com/ssl/domain.key
SSLCertificateChainFile /sites/domain.com/ssl/DigiCertCA.crt
SetEnvIf User-Agent ..*MSIE.*. nokeepalive ssl-unclean-shutdown
</VirtualHost>
#
# support.domain.com (/etc/apache2/sites-available/support.domain.com)
#
<VirtualHost *:80 *:443>
ServerName support.domain.com
ServerAlias support.domain.com:443
# Enable SSL
SSLEngine On
SSLCertificateFile /sites/ikeyless.com/ssl/star_domain_com.crt
SSLCertificateKeyFile /sites/ikeyless.com/ssl/domain.key
SSLCertificateChainFile /sites/ikeyless.com/ssl/DigiCertCA.crt
SetEnvIf User-Agent ..*MSIE.*. nokeepalive ssl-unclean-shutdown
# Directory Root.
DocumentRoot /sites/support.domain.com/www/
# Logfiles
ErrorLog /sites/support.domain.com/logs/error.log
CustomLog /sites/support.domain.com/logs/access.log combined
</VirtualHost>
アップデート
この単一の SSL 証明書 (ワイルドカード証明書) をメイン ドメインとすべてのサブドメイン (support.domain.com と live.support.domain.com を含む) で実行したいと思います。その設定はどのように行えばよいでしょうか?
答え1
HTTP 1.1 では、HOST ヘッダーがリクエスト内で暗号化されるため、IP アドレスごとに 1 つの SSL ウェブサイトしか実行できません。そのため、サーバーは、復号化されるまで、どの vhost を対象としているかを知りません。
IP アドレスが複数ある場合は、 を に置き換えます。ここで、 xxx.xxx.xxx.xxx は両方の IP アドレスです。これで動作するはずですが、configtest: を試すか、
/etc/init.d/httpd configtest
ライブ サーバーでない場合は Apache を再起動してください。