2013-08-21 70 views
3

說我有一個是通過HTTPS提供的網址,但在我的.htaccess我重寫代理到另一個領域是在同一臺服務器上,像這樣:將http代理重寫爲http是否安全?

RewriteRule /https-url/(.*) http://www.somesite.com/$1 [P,L] 

這是一個安全的情況呢?我會假設它是這樣的,因爲瀏覽器正在與一個SSL安全的url進行通信,並且在服務器上進行重寫,任何人都無法干預。


編輯:我只是去上試了一下。它工作得很好,如果直接訪問http url,你可以重定向到https。這也節省了我一些錢,因爲我只需要爲一個域購買SSL證書。

+0

好問題。另一種情況(http-> https)是強制執行https的標準用法。現在這種情況下(https-> http)更棘手。它可能如你所說(連接保持不變,所以它保持SSL或它作爲協議降級,這需要一個新的未加密的連接。到目前爲止,我沒有從mod_rewrite文檔中得到很好的線索。你試過了嗎? – mvw

+0

經過一些更多的閱讀後,我相信SSL連接保持不變(第一種選擇),第二種情況(降級)在重寫規則中需要明確的R = 301選項。 – mvw

+0

好吧,我依你而言很好嗎? –

回答

0

如果www.somesite.com託管在應用規則的同一臺服務器上,那麼它的網絡流量永遠不會離開服務器。這意味着不在服務器上的第三方將無法「竊聽」請求和響應的內容(或僞裝成可信方),因此如果未加密則無關緊要。這裏的假設是,如果有人可以訪問這種流量,他們已經妥協了服務器,所以逆向代理可能是您最擔心的問題。

+0

所以你說的是這是安全的(我發送的數據將被加密並且不可解密),除非重寫是針對另一臺服務器的? –

+0

我想他指出從服務器到重定向服務器的通信是安全的。更有趣的問題是如果從瀏覽器到初始服務器的通信仍然安全。 – mvw