在 IIS 8 和 Windows 8 中设置 gzip
Posted
技术标签:
【中文标题】在 IIS 8 和 Windows 8 中设置 gzip【英文标题】:Set up gzip in IIS 8 and Windows 8 【发布时间】:2013-05-06 03:08:36 【问题描述】:我创建了默认的 MCV4 网站,并在默认网站下的 widows 8 系统中托管在我本地的 IIS8 中。
http://localhost/MyWesite
在 IIS 管理器“压缩”中启用了动态内容压缩和静态内容压缩。还禁用了压缩的文件大小限制,因此所有 js 文件大小都被考虑用于压缩(仍然没有发生 gzip 压缩)
这是唯一的系统级 gzip 配置吗?
接下来我尝试进行网站级别更改。我还在 C:\Windows\System32\inetsrv\config 中编辑了 applicationHost.config 文件,下面是我所做的更改
<section name="httpCompression" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
在 web.config 文件中我添加了以下内容
<system.webServer>
<httpCompression>
<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="image/jpeg" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
<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="image/jpeg" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" dynamicCompressionLevel="4" />
</httpCompression>
</system.webServer>
这样做后,我重新启动了 iis,以防万一。在加载网页时,没有 js 文件或 html 文档被 gzip 压缩。
【问题讨论】:
【参考方案1】:可能您已经解决了这个问题,它只是发生在我身上,我在寻找错误时发现了这个问题。我有完全相同的 web.config 配置(在带有 IIS 7.5 的旧网络服务器上完美运行)。
我发现您需要转到服务器管理器并确保您已在 Web 服务器 => Web 服务器 => 性能下设置了动态内容压缩功能。
【讨论】:
已验证这可以在“服务器:Microsoft-IIS/8.0”(Server 2012)上对 .js 文件进行 gzip 压缩。 这会启用 动态 压缩,这将在 每个 请求时重新压缩您的 JS。以上是关于在 IIS 8 和 Windows 8 中设置 gzip的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 windows powershell 命令在 IIS 网站中设置 ID 属性
黄聪:wordpress在IIS8中设置默认编码(windows2012服务器)