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?
答案 0 :(得分:0)
事实证明mod_pagespeed不适用于“协议相关”网址。
如果您启用trim_urls
,问题仍会被绕过ModPagespeedEnableFilters trim_urls
请注意潜在的风险(取决于您的javascript代码库,ajax调用可能会破坏或产生意外的HTML)。
答案 1 :(得分:0)
将此添加到您的配置可能有效:
ModPagespeedRespectXForwardedProto on
如果您的反向代理在其请求中转发X-Forwarded-Proto标头,则该方法有效。 该请求标头告诉PageSpeed在loadbalancer上用于请求的原始协议是什么,从而将所有需要知道的内容交给正确重写URL。