2009-02-19 26 views
10

私はhttps経由でのみアクセスする必要があるいくつかのフォームを開発しています。私はそれ自身の証明書とすべての良いものと専用のサーバーを持っています。サーバー/ドメイン全体でhttpsを強制的に使用する

私の質問は本当に2倍です:

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

編集:私はHTTPS経由するすべての要求を強制的にSSLRequireSSLディレクティブを言及するのを忘れてしまった

。詳細はApache Documentationにあります。

+0

何らかの理由で、私の設定では、あなたのメソッドは動作しませんが、 '私'はしません。どんな考え?また、SSLRequireSSLのおかげですが、私の理解は、私がこの場合には望んでいない非https要求をバウンスすることです。 – da5id

+0

興味深いことに、あなたはどのバージョンのApacheを実行していますか? –

+0

Apache/2.2.3(CentOS) – da5id

関連する問題