Mod-Pagespeed 删除标题

Mod-Pagespeed 删除标题

我在 RHEL 6 上使用 Apache 2.2.15(Unix)来处理 css 和图像 1.6.29.7-3343。我的 pagespeed.conf 配置如下:https://gist.github.com/jhirbour/a66b0efe58c8d109b90e

作为 PCI 的一部分,我们的合规公司表示我们应该将以下内容添加到我们网站上提供的所有内容中。

X-Frame-Options:拒绝

我已将其添加到 httpd.conf 并且它适用于 html/php 页面。

标题始终附加 X-Frame-Options DENY

问题就在这里 mod_pagespeed 似乎删除了所有 http 标头,而我似乎找不到添加此标头的方法(或者告诉它不要将其删除(因为 apache 正在添加它)。

我可以使用 MOD_PAGESPEED_OUTPUT_FILTER 修复这个问题吗?

我确实发现了这一点:https://github.com/pagespeed/ngx_pagespeed/issues/612这看起来有点相关(至少与 mod_pagespeed 的工作原理有关)

答案1

您引用的错误报告与 ngx_pagespeed 有关,它与 mod_pagespeed 共享大量代码,但在本例中可能并非如此。与 Apache 标头操作代码的交互特定于 mod_pagespeed。

您能更详细地说明您的观察结果吗?标头是否在资源(css、图像、JS)或 HTML 文件上被剥离?

如果它是一种资源,那么 URL 是否被重写为名称中包含“.pagespeed.”?

另外,您使用的 mod_pagespeed 版本太旧了。您是否考虑至少升级到我们的稳定分支(目前为 1.8.31.5)?

答案2

简短回答:这个问题可能在 1.7 中得到修复(而您使用的是 1.6)。我认为您的 PHP 限制不会阻止您升级 mod_pagespeed。只是不要升级您的其他软件包。

这是https://code.google.com/p/modpagespeed/issues/detail?id=811我没有将其标记为完全修复,因为在使用 LoadFromFile 时仍然存在潜在的标题问题。

通常,PageSpeed 资源的服务方式是,我们从源站缓存响应标头,并且在提供缓存的优化结果时不再运行 mod_headers。

那么对于组合资源,我们应该怎么做呢?我们应该在原始资源上提供所有标头的联合吗?如果其中一些标头有不同的值怎么办?我决定仅当名称和值匹配时,才将原始 CSS 文件中的资源放在组合结果中,这是通过以下更改实现的:

https://code.google.com/p/modpagespeed/source/detail?r=3589

希望这有帮助!-乔希

相关内容