使用SSL的mod_pagespeed:从//到https://

时间:2014-02-14 23:07:41

标签: apache mod-pagespeed

RHELS 6.1上的Apache 2.2.15

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

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

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

我正在试图弄清楚如何将其重写为https(或将其保留为未指定为//)。

阅读documentation后,我尝试使用ModPagespeedMapOriginDomain

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

也试过

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

......无济于事。网址继续被“http://”重写。

问题:如何在其网址中使用https而不是http?

Full pagespeed config here, if needed

2 个答案:

答案 0 :(得分:0)

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

如果您启用trim_urls

,问题仍会被绕过
ModPagespeedEnableFilters trim_urls

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

答案 1 :(得分:0)

将此添加到您的配置可能有效:

ModPagespeedRespectXForwardedProto on

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