xChar
·a month ago

本文为:https://xfeed.app/notes/71448-20 的重制版


未优选

image

已优选

image


结论:可见,优选过的网站响应速度有很大提升,并且出口IP也变多了。这能让你的网站可用性大大提高,并且加载速度显著变快。
优选节点使用:cloudflare.182682.xyz

正式开搞!

我们需要两个域名(比如:onani.cn和acofork.cn)

这里我们让onani.cn成为主力域名,让acofork.cn成为辅助域名


  1. 首先新建一个DNS解析,指向你的源站开启cf代理
    image
  2. 前往 SSL/TLS -> 自定义主机名。设置回退源为你刚才的DNS解析的域名(xlog.acofork.cn),添加自定义主机名为你最终想让用户访问的域名(onani.cn)并且按照指示在主力域名(onani.cn)添加TXT所有权验证和TXT证书验证,直到证书状态和主机名状态都变为有效
    image
  3. 继续在你的辅助域名添加一条解析。CNAME到优选节点:cloudflare.182682.xyz,不开启cf代理
    image
  4. 最后在你的主力域名添加解析。域名为之前在辅助域名的自定义主机名(onani.cn),目标为刚才的cdn.acofork.cn,不开启cf代理
    image
  5. 优选完毕,尝试访问

优选工作流:用户访问 -> 由于最终访问的域名设置了CNAME解析,所以实际上访问了cdn.acofork.cn,并且携带 源主机名:onani.cn -> 到达cloudflare.182682.xyz进行优选 -> 优选结束,cf边缘节点识别到了携带的 源主机名:onani.cn 查询发现了回退源 -> 回退到回退源内容(xlog.acofork.cn) -> 访问成功


疑难解答

  1. Q:如果我的源站使用Cloudflare Tunnels
    A:需要在Tunnels添加两个规则,一个指向你的辅助域名,一个指向最终访问的域名。然后删除最终访问域名的DNS解析(但是不要直接在Tunnels删,会掉白名单,导致用户访问404)。然后跳过第一步

原理:假设你已经配置完毕,但是Cloudflare Tunnels只设置了一个规则。
分类讨论,假如你设置的规则仅指向辅助域名,那么在优选的工作流中:用户访问 -> 由于最终访问的域名设置了CNAME解析,所以实际上访问了cdn.acofork.cn,并且携带 源主机名:onani.cn -> 到达cloudflare.182682.xyz进行优选 -> 优选结束,cf边缘节点识别到了携带的 源主机名:onani.cn 查询发现了回退源 -> 回退源检测 源主机名:onani.cn不在白名单 -> 报错 404 Not Found。访问失败
分类讨论,假如你设置的规则仅指向最终访问的域名,那么在优选的工作流中:用户访问 -> 由于最终访问的域名设置了CNAME解析,所以实际上访问了cdn.acofork.cn -> 由于cdn.acofork.cn不在Tunnels白名单,则访问失败


  1. Q:如果我的源站使用了Cloudflare Origin Rule(端口回源)
    A:需要将规则的生效主机名改为最终访问的域名,否则不触发回源策略(会导致辅助域名无法访问,建议使用Cloudflare Tunnels)

原理:假设你已经配置完毕,但是Cloudflare Origin Rule(端口回源)规则的生效主机名为辅助域名
那么在优选的工作流中:用户访问 -> 由于最终访问的域名设置了CNAME解析,所以实际上访问了cdn.acofork.cn,并且携带 源主机名:onani.cn -> 到达cloudflare.182682.xyz进行优选 -> 优选结束,cf边缘节点识别到了携带的 源主机名:onani.cn 查询发现了回退源 -> 回退到回退源内容(xlog.acofork.cn)-> 但是由于源主机名:onani.cn不在Cloudflare Origin Rule(端口回源)的规则中 -> 无法触发回源策略,访问失败

  1. Q:如果我的源站使用serv00
    A:需要在WWW Web Site界面添加两个规则,一个指向你的辅助域名,一个指向最终访问的域名。

原理:假设你已经配置完毕,但是serv00仅配置其中一个域名
那么在优选的工作流中:会导致访问错误,serv00将会拦截不在白名单的域名请求

Loading comments...