Iis 7 HTTP错误500.52-URL重写模块错误。
我正在尝试使用IIS 7.5设置反向代理。我希望Tomcat提供与特定URL模式匹配的传入请求。我使用了这里的教程来配置它 我的设置如下:Iis 7 HTTP错误500.52-URL重写模块错误。,iis-7,reverse-proxy,url-rewrite-module,Iis 7,Reverse Proxy,Url Rewrite Module,我正在尝试使用IIS 7.5设置反向代理。我希望Tomcat提供与特定URL模式匹配的传入请求。我使用了这里的教程来配置它 我的设置如下: <rewrite> <rules> <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url=".*/(Locations|F
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url=".*/(Locations|FacetedSearch|LocationPage)/.*" />
<action type="Rewrite" url="http://search.xxx.com/{R:1}" />
<serverVariables>
<set name="HTTP_ACCEPT_ENCODING" value="" replace="true" />
</serverVariables>
</rule>
</rules>
<outboundRules>
<rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1">
<match filterByTags="A, Form, Img" pattern="^http(s)?://search.xxx.com/(.*)" />
<action type="Rewrite" value="http{R:1}://dev.xxx.com/{R:2}" />
</rule>
<preConditions>
<preCondition name="ResponseIsHtml1">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
<tracing>
HTTP错误500.52-URL重写模块错误。
当HTTP响应的内容被编码(“deflate”)时,无法应用出站重写规则。将其添加到web配置中
<serverVariables>
<set name="HTTP_ACCEPT_ENCODING" value="" />
</serverVariables>
或者在iis中禁用动态压缩在iis中找到“compress”,然后删除动态内容压缩和静态内容压缩。从负责反向代理请求的站点和正在代理的站点禁用动态和静态内容压缩为我修复了此错误
换句话说,如果服务器X将请求路由到服务器Y,则在服务器X和Y上的站点上禁用动态和静态内容压缩。我也遇到了这个问题,我发现这个解决方案很有用: 基本上,在入站请求中,HTTP_ACCEPT_编码头被隐藏到一个临时头中,然后根据出站重写规则恢复 在链路失效的情况下,以下步骤:
如果仅在单个站点上需要此功能,则可以在站点级别而不是服务器级别添加前提条件。什么是“此”?请加上这个好吗!?eh:)检查这个:它帮助我将reg add HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\InetStp\Rew WRITE/v LogRewrittenUrlEnabled/t reg\U DWORD/d 0添加到我的测试注册表中,您需要在允许的服务器变量下添加以下内容:HTTP\U ACCEPT\U编码、HTTP\U CUST、HTTP\U主机、HTTP\U MAX\U转发、HTTP\U原始服务器\U POST、,https请编辑您的答案,而不是将其放在注释中:)您能告诉我为什么需要在web.config文件中添加
serverVariables
?我还收到出站规则的http错误。那么我应该添加serverVariables
?我需要在web.config文件中的哪个节点下添加serverVariables?请引导我。谢谢
HTTP_ACCEPT_ENCODING
HTTP_X_ORIGINAL_ACCEPT_ENCODING
Server Variable Name: HTTP_X_ORIGINAL_ACCEPT_ENCODING
Value: {HTTP_ACCEPT_ENCODING}
Server Variable Name: HTTP_ACCEPT_ENCODING
Value: ""