Ssl

不安全的連接:使用 https 將 www 重定向到非 www 時出現問題

  • September 26, 2018

我對伺服器配置不太熟悉,請幫助我解決這個問題:

我有一個 Debian8 伺服器和一個 SSL 證書,SSL 證書僅適用於我的非 www 域,所以我想通過以下 htaccess 程式碼將所有 www 請求重定向到非 www,它適用於某些瀏覽器但不適用於其他瀏覽器

**在 Chrome 上:**成功重定向http://www.example.comhttp://example.com請求到https://example.com這是我想要的所有瀏覽器。

在 Mozilla 上:http://www.example.com將請求重定向到https://www.example.com並停止使用 INSECURE CONNECTION 錯誤。我認為從這裡瀏覽器首先檢查 www 的 SSL 證書並在非 www 重定向之前停止。

以下是我.htaccess使用 https 將 www 重定向到非 www,我錯過了.htaccess什麼嗎?或通過 DNS 或借助 apache default 的任何其他解決方案ssl.conf

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

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

我的 SSL 證書是Certbot,我按照本教程安裝https://www.youtube.com/watch?v=-TPoGQ4IjDI&t=100s你可以看到只有一個域提示不是 www,沒有設置 SSL 的選項www 的證書。如果我可以獲得 www 的 SSL 證書,那麼我也可以解決這個問題。

它適用於某些瀏覽器,但不適用於其他瀏覽器

它不應該對任何瀏覽器“工作”,除非您之前可能已經接受了無效證書?在您的站點收到請求*之前,*您將收到無效的證書瀏覽器警告。SSL 握手是在請求期間發生的第一件事,以確保連接是安全的,在此之前不可能實現重定向(或任何東西)。

解決問題的唯一方法是實施涵蓋www子域的 SSL 證書。

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