2

mod_pagespeed 重写了我的 CSS 链接

链接 href="/css/file.css" rel="stylesheet"

类似于:

链接 href="http://example.com/css/file.css.pagespeed.ce.97987.css" rel="stylesheet"

问题是,如果负载均衡器后面的服务器之一没有在 pagespeed 缓存中创建 file.css.pagespeed.ce.97987.css,则可能找不到它。

它对 .js 文件和图像做同样的事情

是否可以在本地服务器上访问这些文件,而不是要求负载均衡器为它们提供服务?

编辑:

这已通过以下方式解决:

ModPagespeedEnableFilters trim_urls

重写为

链接 href="/css/file.css.pagespeed.ce.97987.css" rel="stylesheet"

编辑2:

这重写了 a 链接中的 href 并从中删除了基本 url,这不好,因为我希望它们重定向到负载均衡器

4

2 回答 2

3

如果您的 .htaccess 中没有任何目录重写规则,则可以创建粘性策略。这意味着 elb 在定义的时间内保持与伸缩组的一个实例的 tcp 连接。此外,您必须将粘性策略添加到侦听器。

于 2012-11-21T16:48:48.867 回答
0

我也在探索。我认为使用“ModPagespeedMapOriginDomain”将您的本地服务器 IP 映射到您的负载平衡域或 IP 将告诉 modpagespeed 引用每台服务器上的本地缓存文件。这意味着您的 pagespeed.conf 在每台服务器上都必须是唯一的。

例子:

ModPagespeedMapOriginDomain localhost <domain>
ModPagespeedMapOriginDomain localhost https://<domain>

或使用 IP:

ModPagespeedMapOriginDomain x.x.x.x <domain>
ModPagespeedMapOriginDomain x.x.x.x https://<domain>

或使用虚拟主机:

ModPagespeedMapOriginDomain x.x.x.x/virutalhostroot <domain>
ModPagespeedMapOriginDomain x.x.x.x/virutalhostroot https://<domain>

在我的情况下,SSL 仅为主要 VHost 设置

于 2012-07-12T18:29:05.200 回答