
Cloudflare 高级用法
Cloudflare 是一家全球最著名的 CDN 加速服务商,提供了很多免费又非常实用的服务。
一、免费内网穿透
从控制面板进去点击 Zero Trust
> Networks
> Tunnels
即可免费创建内网穿透隧道。
点击 Create Tunnel
> Select Cloudflared
,输入隧道名称,然后根据操作系统和环境按提示安装 cloudflared
工具并启用穿透服务,等待连接成功即可。
切换到 Public hostnames
页面,点击 Add a public hostname
,选择你的域名和子域名,填写对应的服务地址保存即可。
然后访问你刚才填写的域名,即可访问你的服务。
注意
Cloudflare 服务器在国外,因此从国内访问国内服务器需要经过 国内客户端 -> 海外Cloudflare节点 -> 国内服务器 -> 海外Cloudflare节点 -> 国内客户端
的传输路径,访问速度和延时可能不佳。(但是它免费、免备案、还有自动 https 啊)
二、IPv6 转 IPv4
如今 IPv4 地址已耗尽,大部分人很难拥有一个稳定的 IPv4 地址,但随着 IPv6 的普及,我们可以直接通过 IPv6 访问我们的服务器。
然而,如果服务器只有 IPv6 地址,那部分不支持 IPv6 的用户/设备将无法访问服务器。
但好在我们可以通过 Cloudflare 的 DNS 代理功能,不管访问者是否支持 IPv6,都会先经过 Cloudflare 的代理服务器,再由 Cloudflare 转发到源服务器。
从控制面板点击对应的域名 > DNS Records
> Add record
,添加 AAAA
记录并填写服务器 IPv6 地址,启用 Proxy status
(橙色云) 即可。
注意
并非所有的端口 Cloudflare 都支持,且 Cloudflare 转发只支持 HTTP 协议。
如果访问失败可以尝试关闭转发(灰色云),但这样就只是普通的 DNS 记录,只能通过 IPv6 访问。
HTTP 透明端口转发:80 8080 8880 2052 2082 2086 2095
HTTPS 隧道端口转发:443 2053 2083 2087 2096 8443
HTTP/HTTPS 端口隧道转发,但以下端口禁用 CDN 缓存:2052 2053 2082 2083 2086 2087 2095 2096 8880 8443
三、DDNS
由于部分网络环境公网 IPv4/IPv6 可能是动态变化的,因此可以通过 DDNS (即动态更新 DNS 记录) 来解决。
推荐工具:ddns-go
Docker 一键运行(仅 25MB):
docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
完成后访问 http://localhost:9876/ 即可进行配置、
其中为了自动修改 DNS 记录,需要在 Cloudflare 的设置 中创建对应权限的 API 令牌。
点击 Create Token
> 使用 Edit zone DNS
模板 > 在 Zone Resources
中指定该 API Key 可以操作的域名范围。
得到 API 令牌后,在 ddns-go
的配置文件中填入,并填写其它对应配置信息保存即可运行。