我正在使用“应用程序请求路由”(ARR)和URL Rewrite 2.0在IIS中实现反向代理 . 服务器设置如下:
-
服务器 - 未指定URL重写规则,启用了ARR代理
-
App 1 - 绑定到8080和主机名app.site.com,未指定URL重写规则
-
重定向 - 绑定到*:80和*:443,并为
(.*)
配置URL重写为http://localhost:8080/{R:1}
这一切都运行正常,直到我使用Web Deploy部署新版本的"App 1" . 此时,"App 1"的配置中出现意外的URL重写规则,其值为 /(.*)
,这显然会破坏所有内容 . 我还注意到,只要我在配置中单击"Revert to Parent",就会重新插入此规则,但是父(我假设是服务器节点)没有配置任何规则 .
为什么会出现此规则?
1 回答
如果这种情况发生在你身上,那是因为IIS接口在说明为你的服务器节点配置了什么URL重写规则 . 要绝对确定
applicationHost.config
中的重写规则:在IIS中打开服务器的配置节点
打开管理 - >配置编辑器
转到"system.webServer/rewrite/rules"部分 .
确保它说"Count=0" . 如果有条目,请删除它们,它将停止为每个部署添加此规则 .