URL 重写期间出现奇数 404
Odd 404 during URL rewrite
背景:我正在将传入的 80/443 流量转发到 \SERVER2
; TFS 在 \SERVER3
上 运行。我希望将所有与 TFS 相关的请求路由到 \SERVER3
。我必须这样做,因为我是 \SERVER2
上的 运行 Server Essentials,它非常挑剔,在 URL 重写下不能很好地工作(几乎和 SharePoint 一样糟糕,但不完全是).
这是默认网站上的唯一规则:
<rule name="TFS Rewrite" stopProcessing="true">
<match url="^tfs(.*)" />
<action type="Rewrite" url="http://server3:8080/{R:0}" />
</rule>
...这是失败的请求日志:https://1drv.ms/f/s!AodXF_j3BiWkhPAZwjnwC-rAecVgtw
请注意 PDF 第 87 行所请求的 URL:http://server3:8080/tfs
。我可以在内部浏览到那个就好了。外部URL是https://tfs.domain.com/tfs
.
下一个完全特定于文件的条目是 404 本身,位于第 165 行。
我就是不明白。这是一个简单的规则。为什么 IIS 会为明显有效且有效的 URL 显示 404?
编辑
作为测试,我添加了这个条件:
<conditions>
<add input="{HTTP_HOST}" pattern="tfs.domain.com" />
</conditions>
现在,如果我浏览到 https://tfs.domain.com/
,则会加载默认网站。
这与日志一起似乎表明,虽然 IIS 正在重写 URL,但流量实际上并未路由到 \SERVER3
。
这是怎么回事?这是一个谜。
好的,我成功了。
我安装了 URL Rewrite 和 ARR 模块,但我还没有启用代理处理。
我创建了一个虚拟反向代理规则,系统提示我在 IIS 中将其打开。我这样做了,删除了虚拟规则,现在一切都按预期工作了。
背景:我正在将传入的 80/443 流量转发到 \SERVER2
; TFS 在 \SERVER3
上 运行。我希望将所有与 TFS 相关的请求路由到 \SERVER3
。我必须这样做,因为我是 \SERVER2
上的 运行 Server Essentials,它非常挑剔,在 URL 重写下不能很好地工作(几乎和 SharePoint 一样糟糕,但不完全是).
这是默认网站上的唯一规则:
<rule name="TFS Rewrite" stopProcessing="true">
<match url="^tfs(.*)" />
<action type="Rewrite" url="http://server3:8080/{R:0}" />
</rule>
...这是失败的请求日志:https://1drv.ms/f/s!AodXF_j3BiWkhPAZwjnwC-rAecVgtw
请注意 PDF 第 87 行所请求的 URL:http://server3:8080/tfs
。我可以在内部浏览到那个就好了。外部URL是https://tfs.domain.com/tfs
.
下一个完全特定于文件的条目是 404 本身,位于第 165 行。
我就是不明白。这是一个简单的规则。为什么 IIS 会为明显有效且有效的 URL 显示 404?
编辑
作为测试,我添加了这个条件:
<conditions>
<add input="{HTTP_HOST}" pattern="tfs.domain.com" />
</conditions>
现在,如果我浏览到 https://tfs.domain.com/
,则会加载默认网站。
这与日志一起似乎表明,虽然 IIS 正在重写 URL,但流量实际上并未路由到 \SERVER3
。
这是怎么回事?这是一个谜。
好的,我成功了。
我安装了 URL Rewrite 和 ARR 模块,但我还没有启用代理处理。
我创建了一个虚拟反向代理规则,系统提示我在 IIS 中将其打开。我这样做了,删除了虚拟规则,现在一切都按预期工作了。