0

我有一个在 JBoss 上运行的 Web 应用程序,我正在使用 IIS 7 来平衡 JBoss 实例。静态文件(例如:CSS、JS)由 IIS 提供。我正在使用 mod_jk ISAPI 过滤器来桥接 IIS 和 JBoss。

我在 IIS 中启用了静态压缩。但是,从 IIS 提供的 CSS 文件没有得到 gzip 压缩(我通过检查响应标头检查了这一点,它没有 content-encoding: gzip 标头)。

发布此消息后,我在 IIS 中启用了动态压缩,然后使用 gzip 压缩了 CSS 文件。我检查了我的 uriworkermap.properties 文件,它没有将 CSS 文件请求路由到 JBoss。我很困惑为什么 IIS 不会在启用静态压缩的情况下压缩 CSS 文件,而只会在启用动态压缩时压缩。

谢谢,基肖

4

1 回答 1

1

这可能是 IIS 决定不压缩内容的结果,因为它不被视为“经常点击”。如果您在 10 秒内请求文件两次(确保您没有访问缓存,ctrl-F5),它会压缩它吗?

如果是这样,将 applicationHost.config 文件中 system.webServer/serverRuntime 节点上的frequentHitThreshold 属性设置为 1 应该可以解决问题,如http://www.iis.net/ConfigReference/system.webServer/serverRuntime中所述。

您可以通过以管理员身份执行以下命令来执行此操作:

%windir%\system32\inetsrv\appcmd set config /section:serverRuntime /frequentHitThreshold:1 /commit:apphost

一个警告 - “频繁命中”的概念似乎并不特定于压缩。我不知道设置这个是否有其他后果!

于 2012-04-02T03:19:49.573 回答