我想使用 IIS7.5 为在 ASP.NET4.5 上运行的站点启用 gzip 压缩,但无法对其进行压缩。
我在共享主机上,所以我不能直接在 IIS 中设置它。
应用程序主机配置
我将其从更改Deny
为Allow
(我在这里读到我不应该更改allowDefinition
设置:How do you change the allowDefinition section attribute using appcmd in IIS 7?)
<section name="httpCompression" allowDefinition="AppHostOnly" overrideModeDefault="Allow" />
我网站的 web.config
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
<dynamicTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="message/*" enabled="true"/>
<add mimeType="application/javascript" enabled="true"/>
<add mimeType="application/x-javascript" enabled="true"/>
<add mimeType="application/javascript; charset=utf-8" enabled="true"/>
<add mimeType="*/*" enabled="false"/>
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="message/*" enabled="true"/>
<add mimeType="application/javascript" enabled="true"/>
<add mimeType="application/x-javascript" enabled="true"/>
<add mimeType="application/javascript; charset=utf-8" enabled="true"/>
<add mimeType="*/*" enabled="false"/>
</staticTypes>
</httpCompression>
作为上述的替代方案,我还尝试将其添加到我的 web.config 中:
<configuration>
<system.webServer>
<urlCompression doStaticCompression="true" doDynamicCompression="false" />
</system.webServer>
</configuration>
我在 Windows 2008 服务器管理器中看到安装了静态内容压缩,但没有安装动态。
然后,当我转到 IIS 到我的站点时,我现在看到的模块压缩Enable Dynamic content compression
已启用(即使显然没有安装)但显示为灰色,并且检查了静态内容压缩。
尽管如此:即使启用了静态和动态内容压缩,我也没有看到使用 Fiddler 进行压缩。
Decode
Fiddler 中未启用该按钮。我还检查了http://www.whatsmyip.org/http-compression-test/和http://www.gidnetwork.com/tools/gzip-test.php
但无论我做什么,当我检查 Fiddler 时,我都没有看到 gzip 压缩:
我已经检查了这些帖子: