Apache-2.2

Apache HTTPS 從舊域重定向到新 HTTPS 域

  • April 28, 2014

我曾經擁有一個曾經擁有 SSL 證書的域,現在它仍然擁有。但是我已經更改了域,並且我還為該新域創建了一個新的 SSL 證書。

我仍然有使用者通過它訪問該網站https://shabbasheep.myolddomain.com,它給了我**This is probably not the site that you are looking for!**

但是當他們通過它訪問該站點時shabbasheep.myolddomain.com,會將它們正確重定向到shabbasheep.mynewdomain.info

這是我的 apache 條目的樣子,從這裡得到一個想法

<VirtualHost *:80>
   ServerName shabbasheep.myolddomain.com

   RewriteEngine On 
   RewriteCond %{HTTP_HOST} shabbasheep.myolddomain.com$
   RewriteRule ^(/(.*))?$ https://shabbasheep.mynewdomain.info$1 [L,NC,R=301]  
</VirtualHost>

我的 SSL

<VirtualHost *:443>
   ServerName shabbasheep.mynewdomain.info
   ServerAlias www.mynewdomain.info

   RewriteEngine On 
   RewriteCond %{HTTP_HOST} shabbasheep.myolddomain.com$
   RewriteRule ^(/(.*))?$ https://shabbasheep.mynewdomain.info$1 [L,NC,R=301]  

   SSLEngine on
   SSLCertificateFile "mypathto.crt"
   SSLCertificateKeyFile "mypathto.pem"
   SSLCACertificateFile "mypathto.crt"

   ...    
   ...
   ...
</VirtualHost>

如果這是一個重複的問題,請提前道歉,我確實環顧四周,但似乎沒有任何效果,或者可能是由於我缺乏理解。

有人可以指導我嗎?

提前致謝。

您需要為舊域創建一個單獨的虛擬主機,其中安裝了舊域的證書和私鑰。然後你可以把你的重寫規則放在那裡。

目前,您的虛擬主機將擷取所有域,因此它將新域證書提供給連接到伺服器的客戶端,包括想要連接到舊域的客戶端。

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