我的网站托管在Azure WebRole上,内容是使用Azure CDN获取的。主要的 HTTP 请求本身是压缩的,但静态内容(css 和 js 是这里的主要问题)不是。请求使用“Accept-Encoding: gzip,deflate,sdch”标头发送,但响应缺少“ Content-Encoding: gzip”和“Vary: Accept-Encoding”标头。请务必注意,当从 CDN 和直接从 WebRole 获取内容时会发生这种情况。
这些是相关的 web.config 部分:
<urlCompression doDynamicCompression="false" doStaticCompression="true" />
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" noCompressionForHttp10="false" noCompressionForProxies="false">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<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="image/svg+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
正如您在配置中看到的,我为代理和 HTTP 1.0 启用了压缩,但这似乎不是问题。
有人知道这里有什么问题吗?