1
ruixue 2021-04-24 18:33:22 +08:00
“始终使用 HTTPS”和直接在源站上配置 http 到 https 的 301 跳转效果是一样的
“自动 HTTPS 重写”是把网页中的 http 链接自动替换成 https 的 如果全站的 https 配置没问题,建议都打开就行了 |
3
ruixue 2021-04-24 18:39:57 +08:00
@zijian 就是用户通过 http 访问你的网站时,cloudflare 不管你的源站是怎么配置的,直接返回跳转到 https 的 301 状态码
|
4
zijian OP @ruixue ok,但是我的源站就有 https,那这样不就是造成了用户访问时间的延迟,毕竟中间经过了二次执行,而且我看 CloudFlare Help Center 有提到不建议源站做 https 强制,这可怎么好,我的源站必须要做,因为国内是直接访问,cf 这条线是给境外用户使用的
|
5
ruixue 2021-04-24 18:50:51 +08:00
@zijian 打开“始终使用 HTTPS”后,用户通过 http 访问你的网站时,cloudflare 不会建立和源站的连接而是直接返回 301 到 https,然后用户再使用 https 访问你的网站时,根据你的回源配置,cloudflare 才会建立和源站的反向代理连接,如果是“灵活”那就是 http 回源,如果是“完全”那就是 https 回源
不建议源站做 https 强制,是因为如果使用的是“灵活”配置,那么 cloudflare 只会发起和源站之间的 http 连接,然而你的源站做了 https 强制跳转,会导致无法成功建立连接,使用的“完全”配置则无需担心这个问题 |
6
zijian OP @ruixue 如果我选择关闭“始终使用 HTTPS”这个功能,说明用户可以通过 http 申请访问我的网站,此时 cf 会带着 http 向源站发起请求,源站将 http 转成 https 进行回应,又转回 cf,cf 带着 https 反馈给用户,是这样么?
但是这个流程和我当前选择的 full 模式好像是不一致的吧,full 模式是不是要求这一个来回都是 https 加密的? |
7
zijian OP 我一直以为选择 full 模式要求“始终使用 HTTPS”这一项必须得开着呢
|
8
zijian OP 可不可以这样理解,full 模式只是对 用户到 cf,或者 cf 到源站之间的证书安全进行控制,而 https 又是另外一回事了,https 大于 cert 这个概念
|
9
opengps 2021-04-24 22:44:10 +08:00
就近从 CF 处吧 http 转为 https 省事很多,这样你源站只需要开启一个端口就够用。甚至说为了有些提速,你在 CF 以外用 https (含 http 跳转 https ),CF 到源站用 http
|
10
chinvo 2021-04-24 23:14:47 +08:00
full 是用户到 cf cf 到源站 都 https
hsts 和 http 的 301 是用户到 cf |
11
dzdh 2021-04-24 23:39:52 +08:00
cf 跳转和你的服务器自己跳转是两回事。
我觉得用 CF 有一个『隐藏服务器 IP 』的目的在。 其次,你怎么做到用 CF 的同时能让 HTTP 和 HTTPS 走两条线路的? |
12
ruixue 2021-04-25 00:14:56 +08:00 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”打开 |
13
oott123 2021-04-25 01:23:44 +08:00 via Android 2
楼上说得不对,不管你用如何设置,用户 http 访问就是 http 回源,除非 CF 或者你把用户跳到了 https 上
flexible 和 full 只决定用户用 https 时,走 http 回源还是走 https 回源 |
14
alexkkaa 2021-04-25 08:15:50 +08:00 via Android
必须啊 cf 现在已经全局 http3 了 前两年 chrome 就已经把非 https 的网站红标警告了,你是用的国产浏览器还是老版本 chrome ?
|
16
ruixue 2021-04-25 09:45:05 +08:00 1
|
17
zmsky 2021-04-26 13:51:35 +08:00
想问一下如何做到国内直接访问,不同的域名么?
|
18
humxman 2021-04-26 18:12:54 +08:00
如果想用户只输入域名在不经过跳转的情况下直接访问 HTTPS,你需要加入 HSTS 头部信息。并且在下面的网站添加自己的域名到预加载例表。
https://hstspreload.org/ |