cf优选ip
缘起
在去年10月份的时候,服务器挂了导致访问困难,因此也只有引入cf进行代理。
但是cf默认分配的ip,在国内连通性很差,经常访问不了,因此这里记录下优选设置ip的方法。
操作过程
获取最快cp地址
经过测试,这个better-cloudflare-ip
项目最精简,比较适合使用,因此就使用了这个工具。
可以通过修改后,自动的获取当前网络最快的cf ip地址。
自定义cf的ip
由于默认情况下,使用cf必须使用cf的dns服务,否则检查就通不过,而使用cf的dns情况下,没办法根据国内的各个运营商,分别配置最优的cf ip地址。
因此这里需要使用到自定义域名功能,主要操作步骤如下:
1、在cf里配置一个随便的域名,比如xxx.abc域名
2、配置自定义域名(注意这里需要绑定银行卡或者paypal,但是目前免费)
这里可以把想要实际使用的域名,配置到自定义域名里,按照提示设置dns、证书等即可,通过这样操作,达到使用dnspod进行国内分运营商的配置最优cf ip的目的, 在cf内可以自定义域名转发对应的请求
大体原理:
cf: 增加一个随便的域名,比如abc.xyz
然后开通自定义域名功能(需要配置支付,但是免费)
然后把想要使用的真实域名,配置为自定义域名,比如abc.com
然后在国内的dnspod的dns作为abc.com的域名服务器,在国内分运营商的配置最优的cf ip
这样的话国内就能最优cf ip访问abc.com,然后实际走到了cf的abc.xyz对应的源服务器了,这样的话cf ip可以随时调优优化。
主要的原理是:cf的服务器是全球通用的,我们可以使用域名的ip地址(指定的cf地址),访问目标域名。
自动化过程
通过上面的操作,可以获取最快的cf ip,也可以通过dnspod等分别对不同运营商配置不同的ip地址。
再写一个使用dnspos的api,进行自动化的ip地址设置的脚本,就可以达到自动化的效果了。
注意问题
注意cf里的自定义域名是没办法通配的,每个子域名都需要配置自定义域名的,否则是无法访问,会证书错误等等问题。
比如abc.xxx.com想要访问,也要单独在设置一下,否则无法访问成功。
v2等伪装域名、header都注意设置一下,否则一直提示handshake失败
参考文档
https://blog.btwoa.com/d04c383b/
https://github.com/tmmtoo/cf2dns
https://github.com/badafans/better-cloudflare-ip
https://www.cloudflare.com/zh-cn/ips/
发表评论