在啟用 SSL 後,我們也希望將主域名重定向到 www。
希望實現的操作是,當用戶訪問 https://cwikius.cn 的時候,瀏覽器應該能夠自動重定向到 https://www.cwikius.cn。
如果我們按照 80 端口的 http 配置的,你可能會得到瀏覽器的安全配置。
比如說,我們最開始的配置是:
# --- CWIKIUS.CN ---<VirtualHost *:443> ServerName cwikius.cn Redirect 301 / https://www.cwikius.cn/</VirtualHost>
當我們訪問的時候,瀏覽器會提示連接的 SSL 問題。
這是因為如果你在 HTTPS 的 SSL 中也這樣配置是不允許的。因為這個可能會導致安全性問題和攻擊。
在 HTTPS 建立連接之前,瀏覽器會首先校驗你的證書,如果你的證書有問題,或者沒有配置,瀏覽器是不會給你重定向。
因此你需要修改上麵的參數配置為:
# --- CWIKIUS.CN ---<VirtualHost *:443> ServerName cwikius.cn SSLEngine on SSLProtocol ALL -SSLv2 -SSLv3 SSLCertificateFile 證書存儲的絕對路徑 SSLCertificateKeyFile 證書存儲的絕對路徑 SSLCertificateChainFile 證書存儲的絕對路徑 Redirect 301 / https://www.cwikius.cn/</VirtualHost>
通過上麵的配置,你的 HTTPD 和瀏覽器在校驗證書完成後給你的訪問重定向了。
簡單來說,出現這個問題的原因就是 SSL 必須在校驗證書完成後才能進行下一步的操作,不管是重定向還是訪問網站。