Mod_pagespeed 认为 https 上的所有内容都无法缓存

Mod_pagespeed 认为 https 上的所有内容都无法缓存

我在装有 Apache 2.2 的 CentOS6 上设置了相当不错的 mod_pagespeed。我所做的就是在 VirtualHost 中设置“ModPagespeed on”。我可以看到“-Mod-Pagespeed 1.13.35.2-0”http 标头。当使用“?PageSpeedFilters=debug”url 查询字符串时,我可以在源中看到很多这样的注释(*):

<!--Uncacheable content, preventing rewriting of https://www.example.com/app/css/vendor/fontawesome/css/fontawesome-all.css-->

我可以正常获取这些文件,并且没有缓存标头。

我看到它在 HTTP 上按预期工作,但在 HTTPS 上却不行。

我已尝试使用这些指令来启用通过 HTTP 而不是 HTTPS 进行的获取,但仍然得到“无法缓存的内容”:

ModPagespeedDomain https://example.com
ModPagespeedDomain https://www.example.com
ModPagespeedMapOriginDomain "http://fetch.example.com" "https://example.com"
ModPagespeedMapOriginDomain "http://fetch.example.com" "https://www.example.com"

^ 我已经确认使用 wget 可以获取服务器上 fetch.example.com 下的 html 源中的文件。

谢谢你,

*在文件末尾我看到了这个调试,对我来说看起来没问题:

mod_pagespeed on
Filters:
ah      Add Head
cc      Combine Css
jc      Combine Javascript
gp      Convert Gif to Png
jp      Convert Jpeg to Progressive
jw      Convert Jpeg To Webp
mc      Convert Meta Tags
pj      Convert Png to Jpeg
ws      When converting images to WebP, prefer lossless conversions
db      Debug
ec      Cache Extend Css
ei      Cache Extend Images
es      Cache Extend Scripts
fc      Fallback Rewrite Css 
if      Flatten CSS Imports
hw      Flushes html
ci      Inline Css
ii      Inline Images
il      Inline @import to Link
ji      Inline Javascript
js      Jpeg Subsampling
rj      Recompress Jpeg
rp      Recompress Png
rw      Recompress Webp
ri      Resize Images
cf      Rewrite Css
jm      Rewrite External Javascript
jj      Rewrite Inline Javascript
cu      Rewrite Style Attributes With Url
cp      Strip Image Color Profiles
md      Strip Image Meta Data

Options:
EnableRewriting (e) 1
FileCacheInodeLimit (afcl) 500000
RunExperiment (fur) False
StatisticsLogging (asle) True

#NumFlushes            0
#EndDocument after     1955us
#Total Parse duration  1799us
#Total Render duration 23022us
#Total Idle duration   156us
No critical images detected.
The following filters were disabled for this request:
        SupportNoscript

答案1

事实证明,在我的实时环境中缺少“ModPagespeedFetchHttps 启用”,尽管我认为我读到这现在是默认设置,但没关系。

此外,由于自签名的 SSL 证书(尽管我告诉它映射到 http),我在开发环境中感到困惑,但使用“ModPagespeedFetchHttps enable,allow_self_signed,allow_unknown_certificate_authority”修复了自签名问题。

现在,开发环境和实时环境都在按照 mod_pagespeed 的预期进行压缩/优化/内联/等等。

有关其他 ModPagespeedFetchHttps 值的文档在此处:

https://www.modpagespeed.com/doc/https_support#https_fetch

相关部分:

The available options are

    enable
    disable
    allow_self_signed
    allow_unknown_certificate_authority
    allow_certificate_not_yet_valid

相关内容