cloudflare的妙用

新浪微博 QQ空间

对于个人玩家,cloudflare免费计划有一些有趣的功能。如:免费的DNS托管,流量代理。基于这两项衍生出来的自动生成TLS证书,服务非标端口转发,Worker反向代理等。其中最有用的还是流量代理。之前一直是使用阿里云的ECS+备案来搭建本站的。在发现cloudflare的代理能力之后,果断将阿里云ECS停止续费了。实际也是续费到后面,价格越来越高,对个人用户而言,为了维持公网上面的几乎无访问量的博客,每年几百到一千的续费太奢侈。

将域名托管到cloudflare后,配置流量代理,然后博主本地电信宽带本来就提供公网IP,直接申购域名+家用HomeServer+cloudflare就能搭建一个标准的WEB服务。在本来就24小时开机的HomeServer基础上,实现了免费博客托管。现在本站即托管在家用服务器了。

用了一段时间发现,cloudflare的IP会被connection reset/refused,这应该由于某些已知的不可抗原因导致的。进一步发现cloudflare的几千个IP地址都是同样可以用来做代理转发流量的,只是cloudflare的免费计划没有提供自主选择IP的方式,需要一些hack手段。比如:如果是桌面操作系统主机,则可以自行配置Hosts文件指定IP地址(官网也提供了可用IP列表),当前本站即处于时而能访问时而不能访问的边缘。这对我个人写博客看博客而言,没有什么影响,对外部客户端访问本站有很大问题,远不如备案+ECS稳定,网速也差得远,因为cloudflare的代理IP都在国外,在国内访问本站,相当于流量从本地转发到国外,再绕回来,这样时延都是秒级,体验很差,但是能免费托管,还要啥自行车:)

有时候,由于出海需要,也要申请国外的VPS,这样可以用cloudflare的庞大IP地址集的代理能力做一个稳定的流量通道。要达成自主选择IP地址的目的,一个可以指定解析结果的DNS服务器就必不可少,在内网,可以使用dnsmasq+dhcp指定内网设备的解析结果。但是经常我们在外面,需要使用移动网络,这个时候,就没法访问内部的dns服务,同样,是桌面系统还好,能指定,手机呢?android系统有个配置私密dns的能力,必须是支持DoT或者DoH的dns服务器,并且该服务的地址要有自己的域名。查询chatgpt,给出了dnsmasq+stunnel的方案,进一步问到了把这个服务做成docker镜像的Dockerfile写法。按照给出的配置和打包流程,做成了镜像放到dockerhub上面了:链接

上面提供了一些思路和大致的玩法,很多东西没法描述到太细,有了一个稳定的流量代理,大家可以充分发挥想象去做一些有趣的访问应用。最后给出一个HomeServer+cloudflare+外部VPS的连接示意图:

全连接示意图

新浪微博 QQ空间

| 1 分2 分3 分4 分5 分 (5.00- 1票) Loading ... Loading ... | 这篇文章归档在:建站技术, 移动互联, 软件应用 | 标签: , , , , . | 永久链接:链接 | 评论(1) |

1条评论

  1. qiqi
    评论于 一月 14, 2025 at 15:04:35 CST | 评论链接

    本文来的正是时候,险些掉进ali ecs+备案的深坑中。
    今天刚试了免费赠送3个月的ecs备案却被告知此类实例不支持备案。
    学学cloudflare

评论

邮箱地址不会被泄露, 标记为 * 的项目必填。

8 - 2 = *



You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <img alt="" src="" class=""> <pre class=""> <q cite=""> <s> <strike> <strong>

返回顶部