zijian

关于 CF 的疑惑, https 强制要不要打开

  •  
  •   zijian · Apr 24, 2021 · 8379 views
    This topic created in 1843 days ago, the information mentioned may be changed or developed.
    我的 CF 端对端加密选择的是 full,源站开了 http 强制转 https,那么 cf 这边还需要开“始终使用 HTTPS”与“自动 HTTPS 重写”这两个功能吗?我试着关了,好像也不影响正常访问,但是疑问来了,我关了这两个功能,端对端的全流程加密不就失效了吗?用户发起的 http 请求不就直接发到 cf 的 cdn 服务器上了?
    18 replies    2021-04-26 18:12:54 +08:00
    ruixue
        1
    ruixue  
       Apr 24, 2021
    “始终使用 HTTPS”和直接在源站上配置 http 到 https 的 301 跳转效果是一样的
    “自动 HTTPS 重写”是把网页中的 http 链接自动替换成 https 的
    如果全站的 https 配置没问题,建议都打开就行了
    zijian
        2
    zijian  
    OP
       Apr 24, 2021
    @ruixue 好快的回复!但是“始终使用 HTTPS”这个功能是作用于哪个环节呢?
    ruixue
        3
    ruixue  
       Apr 24, 2021
    @zijian 就是用户通过 http 访问你的网站时,cloudflare 不管你的源站是怎么配置的,直接返回跳转到 https 的 301 状态码
    zijian
        4
    zijian  
    OP
       Apr 24, 2021
    @ruixue ok,但是我的源站就有 https,那这样不就是造成了用户访问时间的延迟,毕竟中间经过了二次执行,而且我看 CloudFlare Help Center 有提到不建议源站做 https 强制,这可怎么好,我的源站必须要做,因为国内是直接访问,cf 这条线是给境外用户使用的
    ruixue
        5
    ruixue  
       Apr 24, 2021
    @zijian 打开“始终使用 HTTPS”后,用户通过 http 访问你的网站时,cloudflare 不会建立和源站的连接而是直接返回 301 到 https,然后用户再使用 https 访问你的网站时,根据你的回源配置,cloudflare 才会建立和源站的反向代理连接,如果是“灵活”那就是 http 回源,如果是“完全”那就是 https 回源
    不建议源站做 https 强制,是因为如果使用的是“灵活”配置,那么 cloudflare 只会发起和源站之间的 http 连接,然而你的源站做了 https 强制跳转,会导致无法成功建立连接,使用的“完全”配置则无需担心这个问题
    zijian
        6
    zijian  
    OP
       Apr 24, 2021
    @ruixue 如果我选择关闭“始终使用 HTTPS”这个功能,说明用户可以通过 http 申请访问我的网站,此时 cf 会带着 http 向源站发起请求,源站将 http 转成 https 进行回应,又转回 cf,cf 带着 https 反馈给用户,是这样么?

    但是这个流程和我当前选择的 full 模式好像是不一致的吧,full 模式是不是要求这一个来回都是 https 加密的?
    zijian
        7
    zijian  
    OP
       Apr 24, 2021
    我一直以为选择 full 模式要求“始终使用 HTTPS”这一项必须得开着呢
    zijian
        8
    zijian  
    OP
       Apr 24, 2021
    可不可以这样理解,full 模式只是对 用户到 cf,或者 cf 到源站之间的证书安全进行控制,而 https 又是另外一回事了,https 大于 cert 这个概念
    opengps
        9
    opengps  
       Apr 24, 2021
    就近从 CF 处吧 http 转为 https 省事很多,这样你源站只需要开启一个端口就够用。甚至说为了有些提速,你在 CF 以外用 https (含 http 跳转 https ),CF 到源站用 http
    chinvo
        10
    chinvo  
       Apr 24, 2021
    full 是用户到 cf cf 到源站 都 https

    hsts 和 http 的 301 是用户到 cf
    dzdh
        11
    dzdh  
       Apr 24, 2021
    cf 跳转和你的服务器自己跳转是两回事。

    我觉得用 CF 有一个『隐藏服务器 IP 』的目的在。

    其次,你怎么做到用 CF 的同时能让 HTTP 和 HTTPS 走两条线路的?
    ruixue
        12
    ruixue  
       Apr 25, 2021   ❤️ 2
    @zijian 并不是,full 模式就是 https 回源,即使用户使用 http 和 cf 建立连接,cf 也会通过 https 回源

    也就是说:

    flexible+关闭“始终使用 HTTPS”,那么用户可以和 cf 使用 http 或 https 连接,而 cf 和源站使用 http 连接

    flexible+打开“始终使用 HTTPS”,那么用户只和 cf 使用 https 连接,而 cf 和源站使用 http 连接

    full+关闭“始终使用 HTTPS”,那么用户可以和 cf 使用 http 或 https 连接,而 cf 和源站使用 https 连接

    full+打开“始终使用 HTTPS”,那么用户只和 cf 使用 https 连接,cf 和源站使用 https 连接

    简而言之,flexible 、full 是控制 cf 回源用的协议,“始终使用 HTTPS”是控制是否强制用户使用 https 访问 cf

    我之前可能有一点没有说清楚,“始终使用 HTTPS”和直接在源站上配置 http 到 https 的 301 跳转效果是一样的,后面半句话的背景是用户直接访问你的源站,获得了 301 跳转状态码。如果你希望访问 cf 的用户都能自动跳转 https,那么就需要把“始终使用 HTTPS”打开
    oott123
        13
    oott123  
       Apr 25, 2021 via Android   ❤️ 2
    楼上说得不对,不管你用如何设置,用户 http 访问就是 http 回源,除非 CF 或者你把用户跳到了 https 上

    flexible 和 full 只决定用户用 https 时,走 http 回源还是走 https 回源
    alexkkaa
        14
    alexkkaa  
       Apr 25, 2021 via Android
    必须啊 cf 现在已经全局 http3 了 前两年 chrome 就已经把非 https 的网站红标警告了,你是用的国产浏览器还是老版本 chrome ?
    zijian
        15
    zijian  
    OP
       Apr 25, 2021 via iPhone
    @ruixue 好的,我明白您的意思了,感谢🙏
    ruixue
        16
    ruixue  
       Apr 25, 2021   ❤️ 1
    @oott123 试了下确实如此,是我之前说错了,谢谢指正

    @zijian 抱歉,前面我说的不对,full 模式并不是强制 https 回源,而是在用户使用 https 时,保证回源也使用 https 。也就是说如果关闭“始终使用 HTTPS”,那么设置为 full 时,用户和 cf 使用 http 连接,cf 和源站也使用 http 连接,用户和 cf 使用 https 连接,cf 和源站也使用 https 连接
    zmsky
        17
    zmsky  
       Apr 26, 2021
    想问一下如何做到国内直接访问,不同的域名么?
    humxman
        18
    humxman  
       Apr 26, 2021
    如果想用户只输入域名在不经过跳转的情况下直接访问 HTTPS,你需要加入 HSTS 头部信息。并且在下面的网站添加自己的域名到预加载例表。
    https://hstspreload.org/
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5425 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 09:33 · PVG 17:33 · LAX 02:33 · JFK 05:33
    ♥ Do have faith in what you're doing.