我看过一些帖子说 GZIP 压缩在 IIS7 上不起作用,但似乎对我的情况都没什么帮助。我有一个代理服务器,它将请求发送到我在 IIS7 上的网站。我在 web.config 中进行了以下配置以启用压缩:
<urlCompression doStaticCompression="true" doDynamicCompression="true" dynamicCompressionBeforeCache="true" />
<httpCompression cacheControlHeader="max-age=86400" noCompressionForHttp10="false" noCompressionForProxies="false" sendCacheHeaders="true" />
请注意 noCompressionForProxies="false" 我还更新了 C:\Windows\System32\inetsrv\config\applicationHost.config 中的 httpCompression 标签。在 IIS7 中启用失败请求跟踪时,我看到以下失败原因:
DYNAMIC_COMPRESSION_NOT_SUCCESS Reason="NO_COMPRESSION_PROXY"
日志中的请求显示为:
Headers="Connection: keep-alive
Via: 1.1 www.<<website>>.com (Access Gateway 3.1.3-<<SpecificVersion>>- )
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-us
Cookie: ASP.NET_SessionId=efm3mrq3vdnh4k55fjthm245
Host: <<Server>>
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; InfoPath.1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Ua-Cpu: x86
UID:
FirstName:
LastName:
Initial:
contract:
ForceChallengeQA:
Mail:
PreferredName:
"
服务器是 Windows Standard Server SP2。我没什么主意了。我还应该尝试其他什么吗?
答案1
事实证明,我必须重新启动 IIS 才能使上述设置生效。更改配置文件时,我很少需要重新启动 IIS。每天都有新的教训。