我希望为我的运行在ASP.NET4.5和IIS7.5上的网站启用gzip压缩,但无法进行压缩。由于我使用的是共享主机,所以无法直接在IIS中设置。
作为上述的替代方案,我还尝试将这个添加到我的web.config文件中:
我在Windows 2008服务器管理器中看到已安装静态内容压缩,但未安装动态内容压缩。
然后当我进入我的网站的IIS和模块压缩时,我现在看到
applicationHost.config
我将这个从Deny
改为了 Allow
(我在这里读到,不应该改变 allowDefinition
设置:如何使用appcmd在IIS 7中更改allowDefinition部分属性?)<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和模块压缩时,我现在看到
启用动态内容压缩
已启用(尽管显然未安装),但处于灰色不可用状态,并且静态内容压缩已被选中。
尽管启用了静态和动态内容压缩,但使用Fiddler时我看不到任何压缩发生。
Fiddler中的Decode
按钮未启用。 我还使用http://www.whatsmyip.org/http-compression-test/和http://www.gidnetwork.com/tools/gzip-test.php 进行了检查。
但无论我做什么,在使用Fiddler进行检查时,我都看不到gzip压缩:
![enter image description here](https://istack.dev59.com/IQUNT.webp)
我已经检查过这些帖子: