iis - IIS 上的 Gzip 压缩 - 无法使其工作

标签 iis gzip iis-10

我有一个现有的 IIS 应用程序,并且我正在尝试让 GZIP 服务器端压缩发挥作用。该应用程序在 EPIServer CMS 上运行(我对此不太熟悉) - 作为第一步,我认为这可能与 CMS 有关。

我决定创建一个新的 IIS 应用程序,这次使用 Umbraco(我非常熟悉的另一个 CMS) - 我创建了一个包含一些 CSS 文件和图像的基本页面,

Content-Encoding: gzip

标题。

这是我尝试过并检查过的。

  1. 在本地工作,我运行的是 Windows 10 和 IIS 10
  2. 我已在“Internet 信息服务”>“Windows 功能”中的“性能功能”下启用了动态内容压缩和静态内容压缩
  3. 对于 IIS 中本地设置的网站,我已确保压缩部分的“启用动态”和“静态”复选框均已勾选。
  4. 在我的网络配置文件中,我添加了这一行

    <urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="false" />
    

当 Webconfig 有此行时,我会检查浏览器中的 header :

请求 header

Accept: text/css,*/*;q=0.1
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Host: umbracotest.site
Proxy-Connection: keep-alive
Referer: http://umbracotest.site/
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36

响应 header

Accept-Ranges: bytes
Content-Type: text/css
Date: Tue, 01 May 2018 15:09:02 GMT
ETag: "03739d0e978d31:0"
Last-Modified: Tue, 19 Dec 2017 16:52:54 GMT
Transfer-Encoding: chunked
Vary: Accept-Encoding
  • 如果我稍微更改一下 webconfig 行 -dynamicCompressionBeforeCache="false"为 true -然后我就会在浏览器中看到一大堆符号 - 这意味着什么吗?

  • 如果我在 webconfig 中添加几行,如下所示:

    <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="image/png" enabled="true" /> <add mimeType="image/svg" 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="8" /> </httpCompression> <urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="false" />

  • 标题仍然相同。

  • C:\inetpub\temp\IIS Temporary compressed Files\MYAPPPOOL-NAME <<此文件夹已创建,但为空。
  • 这是一个 ASP.net MVC 应用程序 有什么想法吗?

    最佳答案

    所以,在我把头撞在墙上大约 8 个小时之后,我终于让它工作了!

    在检查了所有内容两次,阅读了我能找到的有关该主题的所有帖子后,我发现了对类似问题的评论,表明这可能与我的防病毒软件有关。我在企业环境中工作,并且无权在本地计算机上禁用它。所以我将代码部署到我们的临时服务器......并且它有效。

    因此,如果其他人遇到此问题,请尝试禁用您的防病毒软件,看看是否有任何区别,这对我有用。

    关于iis - IIS 上的 Gzip 压缩 - 无法使其工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50119379/

    相关文章:

    java - 刷新 GZIPOutputStream 然后重置 ByteArrayOutputStream 是否安全?

    c# - 无法在 Windows Server 2016/IIS 10 上获取 IIS 拾取目录

    http-error - Borna Active Directory Manager 无法工作(HTTP 500.19 错误)

    php - 使用 php 和 jquery 的简单 cometd 示例

    asp.net - 线程如何通过 Http.sys、IIS 和 ASP.NET 与请求绑定(bind)

    php - 在 PHP 5.3 中执行 tar.gz 操作 - CLI 与 Phar?

    java - GunzipOutputStream 或类似的东西是否存在?

    iis - 删除动词在 iis 10 中不起作用

    iis - 您可以在 IIS 中托管 ServiceStack Web 应用程序吗?

    .net - IIS 重定向规则优先级