【发布时间】:2010-11-10 22:54:37
【问题描述】:
我正在运行一个具有 2 个独立子域的站点 - 一个用于 HTTP,另一个用于 HTTPS。
http://www.example.comhttps://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 视为关闭,我最终以http://secure.example.com/test/。
如果域是secure.example.com,有什么方法可以强制重定向到 HTTPS?
类似这样的事情:
RewriteCond %{SERVER_NAME} secure.example.com
RewriteRule ^/(.*)$ https://secure.example.com/$1
除非这不起作用 - 它会立即强制执行显式重定向,而我想继续处理其他 RewriteRules。
谢谢,
学习
【问题讨论】:
标签: mod-rewrite redirect https isapi-rewrite load-balancing