我目前有一个站点,通过 AWS Cloudfront 为位于 AWS S3 上的图像提供服务。
我不打算安装 PageSpeed,我想利用 PageSpeed 提供的图像优化和延迟加载(页面视图外)。
我的问题是:
我是否需要使用 PageSpeed 将图像从 S3 移动到服务器上以利用图像优化和延迟加载。例如:图像需要位于安装 PageSpeed 的本地,或者在这种情况下它们可以在 S3 外部吗?
我可以看到如何将 pagespeed 从文件系统引导到加载文件(图像),如下所示。
pagespeed LoadFromFile http://static.example.com/ /var/www/static/;
Run Code Online (Sandbox Code Playgroud)
对此的答案是将图像放在本地并使用“LoadFromFile”会更快,但可以使用远程存储库吗?
谢谢亚当
编辑:我现在可以看到以下内容:
pagespeed LoadFromFileMatch "^https?://example.com/~([^/]*)/static/"
"/var/www/static/\\1";
Run Code Online (Sandbox Code Playgroud)
看起来这可能允许 PageSpeed 检查本地资源,然后在需要时从远程 HTTP 位置获取。
mod_pagespeed 可以从任何地方优化图像。默认情况下,它仅优化来自与 HTML 相同域的图像,您可以使用以下命令授权 mod_pagespeed 优化来自任何域的图像:
pagespeed Domain www.example.com;
Run Code Online (Sandbox Code Playgroud)
注意:这只会告诉 mod_pagespeed 重写该域上资源的 URL。如果example.com没有安装 mod_pagespeed,这将会失败!如果是这种情况,您可以使用:
pagespeed MapRewriteDomain modpagespeed.domain.com other.domain.com;
Run Code Online (Sandbox Code Playgroud)
这将告诉 mod_pagespeed 更改提供重写资源的域,以便您可以实际提供重写版本。
有关更多信息,请参阅https://developers.google.com/speed/pagespeed/module/domains