0

RHELS 6.1 上的 Apache 2.2.15

在 https 后面的服务器上使用 mod_pagespeed(由网络的反向代理实现)。

所有 html url 都写为“//server.example.com/path/to/file.css”(因此,没有指定协议)。

问题:使用默认配置,pagespeed 将 url 重写为“ http://server.example.com/path/to/file.css

我试图弄清楚如何让它将网址重写为 https(或将其未指定为 //)。

阅读文档后,我尝试像这样使用 ModPagespeedMapOriginDomain

ModPagespeedMapOriginDomain http://localhost https://server.example.com

也试过

ModPagespeedMapOriginDomain http://localhost //server.example.com
ModPagespeedMapOriginDomain localhost server.example.com

……无济于事。网址不断被改写为“http://”。

问题:如何让 pagespeed 在其 url 中使用 https 而不是 http?

如果需要,请在此处进行完整的 pagespeed 配置

4

2 回答 2

0

事实证明 mod_pagespeed 不适用于“协议相关”网址。

不过,如果您启用trim_urls ,则可以绕过该问题

ModPagespeedEnableFilters trim_urls

请注意潜在风险(取决于您的 javascript 代码库,ajax 调用可能会中断或产生意外的 html)。

于 2014-02-14T23:46:46.517 回答
0

将此添加到您的配置中可能会起作用:

ModPagespeedRespectXForwardedProto on

如果您的反向代理在其请求中转发 X-Forwarded-Proto 标头,则此方法有效。该请求标头告诉 PageSpeed 在负载均衡器上用于请求的原始协议是什么,从而将其传递给它需要知道的所有内容以正确重写 url。

于 2014-02-16T20:21:38.680 回答