2009-07-15 9 views
0

私はHTTPとHTTPSの2つの別々のサブドメインを持つサイトを運営しています。Isapi Rewrite - ロードバランサの背後にあるリダイレクトでHTTPSを維持する

  • http://www.example.com
  • https://secure.example.com

http://secure.example.com存在しないと解決しないでしょう。

問題は、サイトがすべてのSSLを処理するロードバランサの背後で実行されていることです。常にHTTPでロードバランサとWebサーバー間の通信。

したがって、Isapi Rewrite 3(IISのmod_rewriteクローン)を使用してリダイレクトを実装すると、問題が発生しています。

Isapi Rewriteに関する限り、HTTPSはオフになっているため、secure.example.comのリダイレクトは失敗しています。

RewriteRule ^/example/$ /test/ [R=301,L] 

私はhttps://secure.example.com/example/の要求を行った場合、私はhttps://secure.example.com/test/に終わるしたいと思いますが、ISAPI書き換えがOFFとしてHTTPSを見ているので、私は終わる:

は、私が言うのルールを持っていると言いますup on http://secure.example.com/test/

ドメインがsecure.example.comの場合、HTTPSにリダイレクトする方法はありますか。この線に沿って

何か:その除き

RewriteCond %{SERVER_NAME} secure.example.com 
RewriteRule ^/(.*)$ https://secure.example.com/$1 

は動作しません - 私は他のRewriteRulesの処理を続行したい一方で、それはすぐに、明示的なリダイレクトを強制します。

おかげで、

ステュー

答えて

1

どのようにこのようななめらかについて:

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^secure\.mydomain\.com$ [NC] 
RewriteRule ^/example/$ https://secure.mydomain.com/test/ [R=301,L] 
+0

おかげで男 - 確かに動作します!各ルールの前ではなく、そのドメインチェックを1回実行する方法があることを期待していました。そうしないと、.htaccessファイルが膨大になります。おそらくそれはあまりにも多くのことを望んでいるでしょう... – stubotnik

+0

これらのルールをsecure.example.comのルートの.htaccessに入れると、ホストチェックをまったく省略することができます。 – TonyCool

+0

私はあなたの話を聞いています - 残念ながら、私は現在、安全なドメインとwwwドメインで同じ.htaccessファイルを使用することに制限されています。 答えとしてマークしてください - ありがとうございました! – stubotnik

関連する問題