Isapi Rewrite - 在负载均衡器后面的重定向中保留HTTPS

时间:2009-07-15 09:48:55

标签: mod-rewrite redirect https isapi-rewrite load-balancing

我正在运行一个有2个独立子域的站点 - 一个用于HTTP,另一个用于HTTPS。

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

http://secure.example.com不存在且无法解决。

问题是该站点正在负责处理所有SSL的负载均衡器后面运行。负载均衡器和Web服务器之间的通信始终是HTTP。

因此,当使用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 Rewrite认为HTTPS为OFF,我最终选择 http://secure.example.com/test/

如果域名为secure.example.com,我是否可以强制重定向到HTTPS?

有些事情如下:

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

除非不起作用 - 它会立即强制显式重定向,而我想继续处理其他RewriteRules

谢谢,

斯图

1 个答案:

答案 0 :(得分:1)

这样的smth怎么样:

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