【问题标题】:Google PageSpeed: Generating critical css for css file served from CDNGoogle PageSpeed:为从 CDN 提供的 css 文件生成关键 css
【发布时间】:2014-11-25 23:05:38
【问题描述】:

我们尝试使用 google pagespeed 优化网站,但现在遇到了一些问题:

我们正在使用 nginx_pagespeed 模块 尝试启用 priority_critical_css 过滤器 由于 CSS 文件是从外部 CDN 域加载的,因此关键的 css 过滤器不起作用。 使用 ?PageSpeedFilters=debug 运行时,在 html 源代码中会生成以下错误

CriticalCssBeacon 的汇总计算状态

资源 0 https://mycdndomain.com/styles/screen-2d470013.css:无法创建资源:其域未授权且 InlineUnauthorizedResources 未启用,或者无法获取(检查服务器日志)

mycdndomain 是我们的 CDN 域。

谁能帮我解决这个问题。需要更改哪些 nginx pagespeed 配置?

还有什么是 InlineUnauthorizedResources ?

【问题讨论】:

    标签: nginx cdn pagespeed mod-pagespeed


    【解决方案1】:

    默认情况下,mod_pagespeed 只重写与 HTML 相同的域上的资源,要启用重写其他域上的资源,您需要明确授权重写并且可能进行一些配置。

    最简单的是,您可以使用pagespeed Domain 声明授权域进行重写:

    pagespeed Domain https://mycdndomain.com;
    

    这将指示 mod_pagespeed 从该域重写资源。

    但请注意,这只是指示 mod_pagespeed 重写 URL,您必须确保您的 CDN 可以提供重写的 URL!如果它只是从你的服务器拉取内容,这应该没问题,但如果它是一个推送 CDN,当你更改 URL 时它会中断。

    有关授权和映射域的完整说明,请参阅 https://developers.google.com/speed/pagespeed/module/domains

    【讨论】:

      猜你喜欢
      • 2013-06-30
      • 2016-07-24
      • 2012-11-03
      • 2019-12-06
      • 1970-01-01
      • 2016-11-20
      • 1970-01-01
      • 2023-04-10
      • 2010-10-23
      相关资源
      最近更新 更多