IIS 重写为本地应用程序 - 失败并返回 404
IIS rewrite to local apps - fails with 404
我想使用 IIS8 将流量从端口 80/443 路由到同一服务器上的两个应用程序 运行 - 一个位于端口 8080(node.js 应用程序,运行 作为一个单独的服务),另一个在端口 8090 上(.NET 应用程序,运行 在同一个 IIS 上,处理 api 调用)。
我已经在端口 80 上设置了一个应用程序,具有以下 web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="rewrite api to backend calls" stopProcessing="true">
<match url="^api/(.+)$"/>
<action type="Rewrite" url="http://127.0.0.1:8080/{R:1}"/>
</rule>
<rule name="rewrite everything else to frontend" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://127.0.0.1:8090/{R:1}"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
不幸的是,这种方法不起作用 - 无论我尝试查询什么资源,我都会收到 404 错误。
在 FREB 日志中,请求已从 OldUrl 正确转换为 NewUrl,在缓存中未找到任何内容,然后在日志中提到以下内容 MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName="IIS Web Core", Notification="MAP_REQUEST_HANDLER", HttpStatus="404", HttpReason="Not Found", HttpSubStatus="4", ErrorCode="The filename, directory name, or volume label syntax is incorrect.
(0x8007007b)", ConfigExceptionInfo=""
必须根据 IIS Rewrite not working (but redirection does) 主题启用应用程序请求路由中的代理。问题已解决:)
我想使用 IIS8 将流量从端口 80/443 路由到同一服务器上的两个应用程序 运行 - 一个位于端口 8080(node.js 应用程序,运行 作为一个单独的服务),另一个在端口 8090 上(.NET 应用程序,运行 在同一个 IIS 上,处理 api 调用)。
我已经在端口 80 上设置了一个应用程序,具有以下 web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="rewrite api to backend calls" stopProcessing="true">
<match url="^api/(.+)$"/>
<action type="Rewrite" url="http://127.0.0.1:8080/{R:1}"/>
</rule>
<rule name="rewrite everything else to frontend" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://127.0.0.1:8090/{R:1}"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
不幸的是,这种方法不起作用 - 无论我尝试查询什么资源,我都会收到 404 错误。
在 FREB 日志中,请求已从 OldUrl 正确转换为 NewUrl,在缓存中未找到任何内容,然后在日志中提到以下内容 MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName="IIS Web Core", Notification="MAP_REQUEST_HANDLER", HttpStatus="404", HttpReason="Not Found", HttpSubStatus="4", ErrorCode="The filename, directory name, or volume label syntax is incorrect.
(0x8007007b)", ConfigExceptionInfo=""
必须根据 IIS Rewrite not working (but redirection does) 主题启用应用程序请求路由中的代理。问题已解决:)