IIS 反向代理干扰重定向位置 header
IIS reverse proxy interfering with redirect location header
我在一个 ASP.Net 站点上有以下重写规则来让 IIS 充当反向代理:
<rewrite>
<rules>
<rule name="AppReverseProxy" enabled="true" stopProcessing="true">
<match url="([d|u|c]/.*)" />
<action type="Rewrite" url="http://127.0.0.1:12949/{R:1}" />
</rule>
</rules>
</rewrite>
所以基本上,domain.com/u/*
domain.com/d/*
或 domain.com/c/*
路径中的任何内容都将被转发到本地服务器。这工作正常,通常我到现在为止没有遇到任何问题。
我将本地服务器 return 和 Location
header 的 301 Permanent Redirect
设置为子域,例如:subdomain.domain.com/somePath
。这个子域指向一个完全不同的服务器。
问题是 IIS 正在重写 Location
header 使其看起来像 domain.com/somePath
,它正在完全删除子域。我通过访问位于 domain.com:12949
的站点确认它是一个 IIS 问题,并且它正确地重定向到子域。如何从本地服务器的 re-writing 和 Location
header 停止 IIS?
Url rewrite 可以在响应中重写 headers,但默认情况下不应这样做。由于网站的重写规则中没有配置,很可能在服务器级别启用了应用程序请求路由模块。
在 IIS 管理器中,Select 当前服务器(不是网站),打开 Application Request Routing
,在右侧栏中会有一个选项 Server Proxy Settings
。在那里你会看到“反向重写主机响应headers”选项。如果选中 - 取消选中它,您的问题应该得到解决。
这里URL有一些ARR模块的截图windows供参考:
https://docs.microsoft.com/en-gb/archive/blogs/chiranth/application-request-routing-part-2reverse-proxy-and-troubleshooting-arr-urlrewrite-issues
我在一个 ASP.Net 站点上有以下重写规则来让 IIS 充当反向代理:
<rewrite>
<rules>
<rule name="AppReverseProxy" enabled="true" stopProcessing="true">
<match url="([d|u|c]/.*)" />
<action type="Rewrite" url="http://127.0.0.1:12949/{R:1}" />
</rule>
</rules>
</rewrite>
所以基本上,domain.com/u/*
domain.com/d/*
或 domain.com/c/*
路径中的任何内容都将被转发到本地服务器。这工作正常,通常我到现在为止没有遇到任何问题。
我将本地服务器 return 和 Location
header 的 301 Permanent Redirect
设置为子域,例如:subdomain.domain.com/somePath
。这个子域指向一个完全不同的服务器。
问题是 IIS 正在重写 Location
header 使其看起来像 domain.com/somePath
,它正在完全删除子域。我通过访问位于 domain.com:12949
的站点确认它是一个 IIS 问题,并且它正确地重定向到子域。如何从本地服务器的 re-writing 和 Location
header 停止 IIS?
Url rewrite 可以在响应中重写 headers,但默认情况下不应这样做。由于网站的重写规则中没有配置,很可能在服务器级别启用了应用程序请求路由模块。
在 IIS 管理器中,Select 当前服务器(不是网站),打开 Application Request Routing
,在右侧栏中会有一个选项 Server Proxy Settings
。在那里你会看到“反向重写主机响应headers”选项。如果选中 - 取消选中它,您的问题应该得到解决。
这里URL有一些ARR模块的截图windows供参考:
https://docs.microsoft.com/en-gb/archive/blogs/chiranth/application-request-routing-part-2reverse-proxy-and-troubleshooting-arr-urlrewrite-issues