2013-04-15 28 views
4

我有一個Apache服務器與多個命名主機都可以正常工作的端口80 http流量。 (具有一個唯一IP地址的VPS)如何讓沒有證書的apache SNI主機重定向到http地址?

我有一個擁有SSL證書的域,並且該域配置爲處理http和https流量。

但是,如果有人不小心將https添加到未配置SSL的URL的開頭,我會得到一個典型的證書警告錯誤(預期),然後如果用戶接受錯誤(取決於瀏覽器),它將顯示我擁有的SSL站點配置而不是原始的非SSL域。

我已經閱讀了一些關於SNI的內容,但是我沒有爲每個其他域設置證書,寧願服務器也不對任何其他域的SSL請求做出響應,或者重定向到網站的http版本。

建議請問我如何處理這個問題。

親切的問候,斯賓塞

+0

可能更適合http://webmasters.stackexchange.com/ – Bruno

回答

0

出於安全原因,你想達到無法工作的。

瀏覽器(實現檢查證書的機制)無法知道用戶是否意外或有意輸入了https://而不是http://。由於最終用戶需要檢查是否需要使用https://,因此瀏覽器應該簡單地執行用戶請求的操作。

https://http://的重定向應始終始於有效的https://連接。如果您無法獲得初始連接的有效證書,SNI將無法爲您提供幫助。

否則,瀏覽器認爲可能有MITM攻擊正在進行當中是公平的。明確地(或使用HSTS)鍵入https://是唯一可靠的機制,用於防止SSLstrip等MITM工具,否則這些工具可能會降級(或阻止從http://升級到https://)。

相關問題