Apache-Httpd

將沒有 SSL 的域重定向到有 SSL 的域

  • April 5, 2019

我們公司最近更改了我們的一個農產品網站的域名,並希望將所有來自舊網站的流量重定向到新網站。

現在出現隱私錯誤,因為 ssl 位於 www.newdomain.com 而不是 www.olddomain.com

無論如何將 www.olddomain.com 重定向到 www.newdomain.com 而不會報告此錯誤?我懷疑我還需要在舊域上安裝 SSL,但如果可能的話,我想避免這種情況。

到目前為止,我已嘗試通過 vhost 和/或 htaccess 執行此操作,並在新域 conf 文件中為舊域起別名,例如:

RewriteCond %{HTTP_HOST} ^olddomain.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com [NC]
RewriteRule ^(.*)$ https://www.newdomain.com/$1 [L,R=301,NC]

您需要兩個域的 SSL 證書。為了從一個重定向到另一個,您首先需要一個證書olddomain.comwww.olddomain.com以便瀏覽器接受重定向指令。然後,您需要一個證書www.newdomain.com來託管新域。

因此,您將為僅重定向到新域的舊域設置一個虛擬主機。

請參閱 apache重定向

<VirtualHost *:443>
   ServerName olddomain.com

   Redirect permanent / https://www.newdomain.com/

   SSLEngine on

   SSLCertificateFile      /path/to/olddomain.com/cert.pem
   SSLCertificateKeyFile   /path/to/olddomain.com/privkey.pem
   SSLCertificateChainFile /path/to/olddomain.com/chain.pem

</VirtualHost>

<VirtualHost *:443>
   ServerName www.newdomain.com

   DocumentRoot /var/www/html

   SSLEngine on

   SSLCertificateFile      /path/to/www.newdomain.com/cert.pem
   SSLCertificateKeyFile   /path/to/www.newdomain.com/privkey.pem
   SSLCertificateChainFile /path/to/www.newdomain.com/chain.pem

</VirtualHost>

引用自:https://unix.stackexchange.com/questions/510682