服务器(x.com)具有以下参数:
- 可从外面80号港口进入
- 它有一个在端口1000上运行的内部服务
- 需要从子域(service.x.com)
在Windows 10上运行IIS,我执行了以下操作:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="URL Rewrite" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{CACHE_URL}" pattern="^(https?)://" />
</conditions>
<action type="Rewrite" url="{C:1}://localhost:1000/{R:1}" logRewrittenUrl="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
它工作得很漂亮。
另一方面,在Windows Server 2012 R2上运行的相同代码产生了这样的结果:
HTTP错误404.4 - 未找到
您正在寻找的资源没有与之关联的处理程序
模块IIS Web核心
通知MapRequestHandler
Handler ExtensionlessUrlHandler-Integrated-4.0
错误代码0x8007007b
我不明白为什么它适用于一个版本的IIS,而不适用于另一个版本。
答案 0 :(得分:1)
我发现:需要启用ARR(应用程序请求路由) 当然,任何错误消息和日志中都没有提到这一点。