Apache-2.2

Apache 從 https 重定向到 https

  • November 22, 2018

我正在嘗試在沒有重寫規則的情況下從例如https://www.domain.com>重定向到<https://www.domain.net。我有 *.domain.net 的萬用字元證書。這會在我的 error_log 中產生以下警告

$$ warn $$RSA 伺服器證書萬用字元 CommonName (CN) `*.domain.net’ 與伺服器名稱不匹配!?

這是有道理的,我理解警告的原因。我想問一下是否有一種方法可以使用 Redirect 指令來完成上述操作而不會發出警告。這是我在 ssl.conf 中的虛擬主機:

&lt;VirtualHost *:443&gt;
   SSLEngine on
   ServerName www.domain.net
   DocumentRoot /var/www/html/domain

   SSLOptions -FakeBasicAuth -ExportCertData +StrictRequire +OptRenegotiate -StdEnvVars
   SSLStrictSNIVHostCheck off
&lt;/VirtualHost&gt;

&lt;VirtualHost *:443&gt;
   SSLEngine on
   ServerName www.domain.com
   ServerAlias www.domain.info
   Redirect permanent / https://www.domain.net
&lt;/VirtualHost&gt;

另外,如果有解決方案,是否可以用於從 htps://domain.com 重定向到 htps://www.domain.com?非常感謝!

請注意,底層 HTTPS 連接的 SSL 握手和驗證過程發生實際請求發送之前。這意味著在驗證伺服器證書的真實性之前,伺服器沒有 HTTP 響應,甚至沒有重定向。

如果您只有一個端點(即只有 1 個公共 IP 地址),則需要購買 SAN 證書,即帶有Subject Alternative Names的證書。

這樣,您就可以獲得*.domain.netSAN的萬用字元證書www.domain.com,並且不會收到任何證書警告

有關更多資訊,請查看我為類似情況給出的舊答案nginx,只是用而不是apache

引用自:https://serverfault.com/questions/453957