XIU2/CloudflareSpeedTest

Cloudflare `Workers` / `Pages` 自定义域名使用 `自选 IP` 的简单教程

XIU2 opened this issue · 7 comments

XIU2 commented

Cloudflare Workers 自定义域名使用自选 IP 其实很简单,只需要做一些小改动即可。


Workers 自定义域名 正常情况下的常规步骤:

  1. 正常部署完 Workers 后,
  2. 添加一个子域名记录(指向 IP 随意)并开启代理(橙色 ☁),
  3. 去该域名的 Workers 侧栏选项中添加路由将刚刚添加的 子域名 指向部署的 Workers 服务。
  4. 配置完成等待生效后,手动访问一次刚刚添加的自定义域名,确保正常

指定自选 IP 的小改动:

想要自选 IP,那么只需要在添加子域名记录的时候,不开启代理(橙色 ☁),直接指向自选 IP 即可。

XIU2 commented

Cloudflare Pages 自定义域名使用自选 IP 和 Workers 差不多,也是只需要做一些小改动即可。


Pages 自定义域名 正常情况下的常规步骤:

  1. 正常部署完 Pages 后,
  2. 点进去 Pages 项目,选择顶部 自定义域 选项卡,点击右边的 设置自定义域
  3. 填写自定义域名,配置域名解析记录(如果域名就托管在 Cloudflare 那么会自动完成,反之则需要手动添加),
  4. 配置完成等待生效后,手动访问一次刚刚添加的自定义域名,确保正常

指定自选 IP 的小改动:

在确保自定义域名能正常访问后(即已签发 1 年 SSL 证书),就可以修改域名解析记录了。
删除旧 CNAME 的解析记录,添加一个 A 解析记录(不开橙色 ☁),直接指向自选 IP 即可。

XIU2 commented

如果你同时有多个 Workers / Pages 自定义域名,那么为了方便管理 及 更新自选 IP,建议专门添加一个用来 指向自选 IP 的 A 记录子域名,然后让那些 Workers / Pages 自定义域名都 CNAME 解析到该子域名即可。

后续只要更新该子域名指向的自选 IP,其他所有 CNAME 指向该子域名的自定义域名也都会跟着更新了。

# 这样的话,用户访问你的自定义域名,DNS 解析流程就是这样的了:
访客  =[DNS 解析]=>  自定义域名  =[CANME 指向]=>  专门子域名  =[A 指向]=> 自选 IP

例如,专门用来指向自选 IP 的 A 记录子域名为 cf.aaa.com,那么其他所有域名都可以 CNAME 指向 cf.aaa.com,而你只需要定期更新 cf.aaa.com 指向的自选 IP 即可(无论是手动还是通过 Cloudflare API 自动)。

我以前写的一个 Cloudflare API 手动教程及 bat/sh 脚本 #40 ,可以很方便的 自动更新域名指向的自选 IP

大佬们,这样似乎不行,CF会提示禁止指向CF的IP地址

XIU2 commented

@banshicy Cloudflare CDN 的一些 IP 是限制免费账户(的域名)使用的,比如 1.1.1.1,你通过这些 IP 访问你的域名(不管你是 Hosts 指定,还是域名解析为自选 IP,本质是一样的),就会提示错误,请更换其他 IP。

目前我自己的 Workers、Pages 用的都是自选 IP。

大佬,用这种方法做完了,域名也可以访问(自己的域名,访问后会直接下载1gb的测试文件)

其中部署时使用的是这个↓
[http://speedtest-sfo3.digitalocean.com/1gb.test
DigitalOcean 旧金山 1GB,文件反代时注意这是个 http 协议]

但是添加到脚本中(-url https://*****.asia/1gb.test)会出现下载测试0MB/S的情况。延迟正常显示。请问可能的原因有是什么呀?
主要用途是PT做种,访问PT站..第一次接触到这些,努力学习中..

XIU2 commented

@cheyuze
这个教程是给 Cloudflare 中的 Workers、Pages 项目强制解析为自选 IP 的,如果你要自建下载测速地址,则和该教程完全无关。

#168 被拉过来的TAT自定义域名
#168 (comment)

_最后尝试浏览器访问 https://XXX.YYY.workers.dev/200mb.test 如果可以正常下载则代表部署成功
注意:因为 *.workers.dev 域名被 DNS 污染,所以默认分配的子域名将无法使用,有域名的可以将 Workers 服务路由绑定至自己的域名就能访问了。

具体可以看看 #189 这里提到了 Workers 自定义域名。

后续使用 CloudflareST 时,记得加上 -url 参数,例如:_