【发布时间】:2016-10-23 02:03:37
【问题描述】:
我有一个运行 IIS 的 Server 2012 R2 机器。我已经尝试为在那个盒子上运行的几个站点启用压缩,但我不知道为什么它不起作用。我的请求标头都显示了接受编码,但响应标头始终是 Transfer-Encoding:chunked 和 Vary:Accept-Encoding。已执行以下步骤以尝试使 gzip 压缩工作:
- 已在每个站点和机器级别启用动态和静态压缩
- 这两种压缩方法都是从服务器管理器安装的
- Httpcompression 和 urlcompression 节点已手动添加到 web.configs
- 为压缩定义了 Mime 类型
- frequentHitThreshold 已设置为 1,因此所有内容应在首次尝试访问后压缩
已进行跟踪以查看为什么没有发生压缩。我拥有的唯一信息是代码 DYNAMIC_COMPRESSION_NOT_SUCCESS,原因为 1。
这是标题:
GET http://redactedservername:8082/ HTTP/1.1
Host: redactedservername:8082
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: ASP.NET_SessionId=gnqovt55ggt22lycufudc0ns
`
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
Date: Wed, 22 Jun 2016 14:00:57 GMT
Transfer-Encoding: chunked
可以执行哪些其他步骤来使压缩起作用?
【问题讨论】:
-
您可能还想检查
doDiskSpaceLimiting、dynamicCompressionDisableCpuUsage和staticCompressionDisableCpuUsage设置iis.net/configreference/system.webserver/httpcompression -
DisableCpuUsage 阈值明显高于 CPU 利用率,并且 doDiskSpaceLimiting 设置为 false
-
您是否直接连接到 IIS(代理等)?能否分享一下 HTTP 请求和 HTTP 响应?
-
没有代理。由于长度限制,正在将标题添加到原始帖子中。
标签: iis gzip windows-server-2012-r2 iis-8.5 http-compression