如何使用带有 gzip 压缩的 IIS URL Rewrite

mpi*_*pe3 16 rewrite gzip iis-7.5

我一直在尝试在启用了静态 HTML 页面和压缩的站点上的 Windows 2008 R2 上的 IIS 7.5 中创建出站规则。

如果我启用了任何形式的压缩(静态或动态),我会收到此错误:

HTTP Error 500.52 - URL Rewrite Module Error. Outbound rewrite rules cannot
be applied when the content of the HTTP response is encoded ("gzip").
Run Code Online (Sandbox Code Playgroud)

由于会对页面加载性能产生巨大的负面影响,因此关闭压缩并不是一个真正的选择。

我想任何使用出站重写规则的人都会遇到这个错误,因为您总是希望为文本内容启用压缩。

我查看了一些建议以使其正常工作:

/sf/ask/259966311/#4363301

http://forums.iis.net/p/1165899/1937454.aspx#1937454

但我仍然得到同样的错误。

有没有人让这个工作?如果是这样怎么办?

小智 3

请参考:https://blogs.msdn.microsoft.com/friis/2016/08/25/iis-with-url-rewrite-as-a-reverse-proxy-part-2-dealing-with-500-52 -状态代码/

当 HTTP 响应的内容经过编码(“gzip”)时,无法应用出站重写规则。

这是因为来自后端服务器的响应正在使用 HTTP 压缩,并且 URL 重写无法修改已压缩的响应。这会导致出站规则处理错误,从而导致 500.52 状态代码。