推荐方法一(Cloudflare Tunnel),不需要公网 IP,也不用担心运营商封 80/443 端口。
方法一:Cloudflare Tunnel(推荐)
创建隧道:登录 Cloudflare,进入 Zero Trust → Networks → Tunnels → Create a tunnel,选择 Cloudflared,起个名字,然后复制页面里的 Token(一长串以
eyJ开头的字符)。在极空间部署 cloudflared:
打开极空间的 Docker,在镜像中搜索并拉取
cloudflare/cloudflared(拉取慢的话需要配置镜像加速)。创建容器,网络模式选 host(这样可以直接用
localhost访问本机端口)。启动命令填:
tunnel --no-autoupdate run --token 你的Token启动后,回到 Cloudflare 页面,看到连接器状态为 Healthy / 已连接 即成功。
添加 Public Hostname:
Subdomain:如
blog,Domain:选你的域名(也可以留空,直接用根域名)Service Type:HTTP
URL:
localhost:56767(如果容器不是 host 模式,则填极空间内网IP:56767)保存后,Cloudflare 会自动创建 DNS 的 CNAME 记录,无需手动添加。
修改 Halo 外部访问地址:进入 Halo 后台 系统 → 设置 → 基本设置(或 系统设置),把"外部访问地址"改为
https://blog.你的域名.com,否则文章链接、图片等可能还带着端口或 IP。
之后直接访问 https://blog.你的域名.com 即可,HTTPS 证书由 Cloudflare 自动提供。
方法二:有公网 IP 时用 Origin Rules 改端口
适用于你有公网 IPv4,并且已在路由器上把 56767 转发到极空间的情况。
DNS 添加 A 记录,指向你的公网 IP,开启小黄云(代理)。
SSL/TLS 加密模式选 Flexible(源站是 HTTP 时)。
进入 Rules → Origin Rules → Create rule:
条件:Hostname 等于
blog.你的域名.com动作:Destination Port → Rewrite to → 56767
路由器做端口转发:外部 56767 → 极空间内网 IP:56767。
同样修改 Halo 的外部访问地址。
缺点是需要公网 IP,并且会暴露源站端口,IP 变动时还要配合 DDNS。