不安全的連接:使用 https 將 www 重定向到非 www 時出現問題
我對伺服器配置不太熟悉,請幫助我解決這個問題:
我有一個 Debian8 伺服器和一個 SSL 證書,SSL 證書僅適用於我的非 www 域,所以我想通過以下 htaccess 程式碼將所有 www 請求重定向到非 www,它適用於某些瀏覽器但不適用於其他瀏覽器
**在 Chrome 上:**成功重定向
http://www.example.com
或http://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 證書。