【问题标题】:mod_pagespeed with SSL: from // to https://使用 SSL 的 mod_pagespeed:从 // 到 https://
【发布时间】:2014-02-17 04:21:38
【问题描述】:

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(或将其未指定为 //)。

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

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

也试过了

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

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

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

Full pagespeed config here, if needed

【问题讨论】:

    标签: apache mod-pagespeed


    【解决方案1】:

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

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

    ModPagespeedEnableFilters trim_urls
    

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

    【讨论】:

      【解决方案2】:

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

      ModPagespeedRespectXForwardedProto on
      

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

      【讨论】:

        猜你喜欢
        • 2014-07-28
        • 1970-01-01
        • 2013-12-19
        • 2018-05-02
        • 1970-01-01
        • 2012-12-31
        • 1970-01-01
        • 1970-01-01
        • 2019-05-17
        相关资源
        最近更新 更多