Isapi Rewrite - сохранение HTTPS в перенаправлениях за балансировщиком нагрузки - PullRequest
0 голосов
/ 15 июля 2009

Я управляю сайтом с двумя отдельными поддоменами - один для HTTP и другой для HTTPS.

http://secure.example.com не существует и не разрешается.

Проблема в том, что сайт работает за балансировщиком нагрузки, который обрабатывает все SSL. Связь между балансировщиком нагрузки и веб-серверами всегда HTTP.

Итак, при использовании Isapi Rewrite 3 (клон mod_rewrite для IIS) для реализации некоторых перенаправлений у меня возникает проблема.

Что касается Isapi Rewrite, то HTTPS отключен - поэтому перенаправления на secure.example.com не выполняются.

Скажи, что у меня есть правило, которое гласит:

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

Если я сделаю запрос на https://secure.example.com/example/ Я хотел бы в конечном итоге на https://secure.example.com/test/, но, поскольку Isapi Rewrite видит HTTPS как OFF, я в конечном итоге на http://secure.example.com/test/.

Есть ли способ заставить перенаправления быть HTTPS, если домен secure.example.com?

Что-то вроде этого:

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

За исключением того, что это не работает - он немедленно вызывает явное перенаправление, тогда как я хочу продолжить обработку других RewriteRules.

Спасибо

Stu

1 Ответ

1 голос
/ 15 июля 2009

Как насчет чего-то такого:

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