gpt4 book ai didi

ssl - 如何将 CloudFlare "Flexible SSL"与 Nginx PageSpeed 过滤器一起使用

转载 作者:太空宇宙 更新时间:2023-11-03 13:10:26 25 4
gpt4 key购买 nike

我刚开始使用 CloudFlare“灵活 SSL”,这允许用户在连接到我的服务器时使用 SSL(当然是通过 CloudFlare)。

请求的流程如下:

访问者 <-- SSL --> CloudFlare <-- 非 SSL --> 我的服务器(Nginx w/pagespeed)

当 Nginx 重写我的资源(css、js、jpegs 等)时,问题就来了,nginx 总是从 CloudFlare 收到一个 http 请求,所以显然 Nginx 将资源作为 http(在 html 中)返回,当用户尝试加载时他们在浏览器上看到一个丑陋的图标,警告不安全的内容,或者根本不加载不安全的内容完全破坏了页面。

这些是我目前正在使用的过滤器:pagespeed EnableFilters move_css_above_scripts,move_css_to_head,rewrite_style_attributes,combine_javascript,insert_image_dimensions,collapse_whitespace,sprite_images,ins‌ ert_dns_prefetch;

那么如何让 nginx pagespeed 以 https 的形式返回资源呢?当请求是 http 时如何作为非 https?

谢谢。

最佳答案

只要 CloudFlare 发送标准的 X-Forwarded-Proto header ,您就可以通过简单地启用 RespectXForwardedProto 来解决这个问题。 :

    pagespeed RespectXForwardedProto on;

如果这不起作用,那可能意味着 CloudFlare 没有发送正确的 X-Forwarded-Proto header 。如果是这样,您可以尝试启用 PreserveUrlRelativity :

    pagespeed PreserveUrlRelativity on;

这将重写 URL,但将它们保留为相对 URL(以便它们同时适用于 HTTP 和 HTTPS)。

关于ssl - 如何将 CloudFlare "Flexible SSL"与 Nginx PageSpeed 过滤器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21573085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com