借助 DDNS Go 使用家宽 IPV6 套 CDN 实现去端口和 IPV4 访问
在本地有 IPV6 公网且防火墙关闭的情况下 家宽一般情况下都封禁 80 443 等一些特殊的端口
这种情况下就无法使用 80 443 建站了 只有你可以访问
既不想使用端口 也想单栈 IPV4 用户访问 有没有解决办法呢?
借助支持 IPV6 自定义端口回源的 CDN/代理即可
你可以使用任意 CDN 甚至 Nginx 和内网穿透类似 需要一个转发服务 但这个转发服务可以是 CDN
教程
在本地创建一个 Web 服务 任意都行 我这里以静态网页为例 使用 1Panel 的 OpenResty
以 81 端口为例(只要不是被封禁的端口都行)
编辑配置文件 监听 IPV6 的 81 端口
| 1 | listen 81 ; | 

配置好本地的 Web 服务后 我们需要考虑 CDN 的回源地址如何更新 家宽 IPV6 地址是有有效期的 每隔一段时间就会发生变更
这里 使用 DDNS Go 将最新的 IPV6 地址解析到一个指定的域名
项目地址: jeessy2/ddns-go
可以直接在 1Panel 应用商店中安装 其他安装方式可以参考 Github
在浏览器访问 IP:9876 的服务 这是 DDNS Go 的 Web 页面
配置用户名和密码

这里以 Cloudflare 为例 从 Cloudflare 控制面板获取 Token
(其他 DNS 服务商都可以在控制面板找到 API 密钥 授权 选项下方均有提示)

选择编辑区域DNS

选择所有区域 或选择一个域名


复制Token

粘贴在 DDNS Go

如果你没有公网 IPV4 将这个选项关闭

开启 IPV6 选择一个有公网 V6 的网卡

输入一个域名 程序会自动将 IPV6 地址解析到这个域名

最后 点击保存

点击日志 查看是否解析成功

完成后 接下来就可以进行最后一步了 使用 CDN 或 Nginx 来对外提供服务
Nginx 和其他 CDN 很简单 都支持自定义回源端口 直接使用域名+81 端口即可
Cloudflare 需要手动开启小黄云 然后点击保存

这样配置后 会发现依旧无法访问 因为 Cloudflare 会更具 SSL 状态 回源 80 和 443 端口 而不会回源我们设置的 81 端口 我们需要配置规则 来实现
侧边栏选择规则 然后在 Origin Rules 处点击创建规则

字段选择主机名 运算符选择等于 在右侧填入域名 需要和 Web 服务监听的域名一致
下滑 选择重写到 值填入 81(替换为你实际的端口) 然后点击部署

配置完成后 尝试访问域名(访问不了可能是 DNS 未及时刷新的问题)
至此 就完成借助 DDNS Go 使用家宽 IPV6 套 CDN 建站
需要注意 如果你使用的不是 Cloudflare 而是其他 CDN 需要考虑 DNS 缓存的问题 可能 IPV6 变更后 但 CDN 解析回源域名的 IP 还是旧值 导致回源失败
但使用 Cloudflare 就不需要考虑这个问题