2009-02-19 84 views
10

我正在開發許多隻能通過https訪問的表單。我有一個擁有自己的證書和所有好東西的專用服務器。爲整個服務器/域強制HTTPS

所以我的問題真的是兩倍:

1)。強制每個請求都是https的最佳方式是什麼?有沒有更好的辦法比這個.htacess/mod_rewrite規則:

RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

2)。是否有任何潛在的缺陷或迫使所有的東西都成爲我應該考慮的https(除了開銷之外,這看起來並不是什麼問題)?

回答

13

你有什麼要細,這是我用:

RewriteCond %{HTTPS} !=on 
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L] 

R表示這是一個重定向,而不是一個重寫,而L表示重寫引擎不應該執行任何更多的重寫。

我最初發現這個位置:Httpd Wiki

編輯:

我忘了提SSLRequireSSL指令,強制所有請求都必須通過HTTPS。詳情請參閱Apache Documentation

+0

出於某種原因,在我的配置中,您的方法不起作用,而'我的'做。任何想法爲什麼?此外,感謝或SSLRequireSSL的提示,但我的理解是,這將反彈非HTTPS請求,這不是我想要的在這種情況下。 – da5id 2009-02-19 23:08:44