在子網域上啟用 SSL

在子網域上啟用 SSL

我已經在我的網站的主網域上運行了 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

每個 IP 位址只能使用 HTTP 1.1 來執行一個 SSL 網站,因為 HOST 標頭在請求內進行了加密,因此伺服器在解密之前不知道它的目標是哪個虛擬主機。

如果您有多個 IP 位址,請替換為 xxx.xxx.xxx.xxx ,其中 xxx.xxx.xxx.xxx 是兩者中的 IP 位址,它應該可以工作,但請嘗試配置測試:
/etc/init.d/httpd configtest或者如果它不是實時伺服器,則重新啟動apache。

相關內容