IIS 7.5 上的 GZip 压缩不起作用

tug*_*erk 6 iis windows-server-2008 .net iis-7.5 windows-server-2008-r2

我正在尝试为 IIS 下的静态文件支持 GZip 压缩(默认情况下应该启用但不启用),但到目前为止还没有工作。这是<system.webServer>web 应用程序的 web.config 文件中 node下的部分;

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
  <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" />
  <dynamicTypes>
    <add mimeType="text/*" enabled="true" />
    <add mimeType="message/*" enabled="true" />
    <add mimeType="application/x-javascript" enabled="true" />
    <add mimeType="application/json" enabled="true" />
    <add mimeType="*/*" enabled="false" />
  </dynamicTypes>
  <staticTypes>
    <add mimeType="text/*" enabled="true" />
    <add mimeType="message/*" enabled="true" />
    <add mimeType="application/x-javascript" enabled="true" />
    <add mimeType="application/atom+xml" enabled="true" />
    <add mimeType="application/xaml+xml" enabled="true" />
    <add mimeType="*/*" enabled="false" />
  </staticTypes>
</httpCompression>

<urlCompression doStaticCompression="true" />
Run Code Online (Sandbox Code Playgroud)

我用谷歌浏览器试过了。这是请求标头;

接受:text / html的,应用/ XHTML + xml的,应用/ XML; Q = 0.9,/ Q = 0.8

接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.3

接受编码:gzip,deflate,sdch

接受语言:en-US,en;q=0.8

缓存控制:无缓存

连接:保持连接

主机:我的网站网址

编译指示:无缓存

用户代理:Mozilla/5.0 (Windows NT 6.0) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30

这些是响应头;

接受范围:字节

内容长度:232651

内容类型:应用程序/x-javascript

日期:2011 年 8 月 4 日星期四 08:58:19 GMT

ETag:"a69135734a50cc1:0"

上次修改时间:2011 年 8 月 1 日星期一 12:56:37 GMT

服务器:Microsoft-IIS/7.5

X-Powered-By:ASP.NET

我检查了 applicationHost.config 文件,发现了一些像下面这样的节点;

----

<section name="httpCompression" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

----

<section name="urlCompression" overrideModeDefault="Allow" />

----

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
    <staticTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/atom+xml" enabled="true" />
        <add mimeType="application/xaml+xml" enabled="true" />
        <add mimeType="*/*" enabled="false" />
    </staticTypes>
</httpCompression>

----

<urlCompression />
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

uSl*_*ckr 3

您似乎没有对临时压缩文件夹正确设置权限。您需要确保您的 IIS 安装(或应用程序)正在运行的用户具有对压缩文件夹的写入权限。

更多这里