You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Argo Tunnel实现服务器内网互联并分配固定本地IP

解决Argo Tunnel分配固定私有IP并跨服务器访问的方案

一、先在Cloudflare后台配置私有网络段

登录Cloudflare Zero Trust控制台,进入Networks > Tunnels > Private Networks,点击「Add a private network」,输入一个专属私有IP段(比如10.0.0.0/24),这个段用来给你的后端实例分配固定IP。

二、给后端服务器的隧道绑定固定私有IP

方式1:修改运行命令

把你原来的启动命令改成这样:

/root/cloudflared tunnel --no-autoupdate run --token $TUNNEL_TOKEN --protocol http2 --private-network 10.0.0.1/32 $TUNNEL_NAME

这里10.0.0.1就是给当前后端实例分配的固定私有IP,每个后端实例用不同的IP(比如10.0.0.2、10.0.0.3),/32表示单个IP。

方式2:用配置文件(更稳定)

创建backend-config.yml配置文件:

tunnel: $TUNNEL_NAME
credentials-file: /root/.cloudflared/$TUNNEL_TOKEN.json
protocol: http2
no-autoupdate: true
ingress:
  - service: http://localhost:8008  # 后端服务的本地监听地址
    originRequest:
      noTLSVerify: true  # 后端没配HTTPS的话开启这个
private-network:
  - 10.0.0.1/32  # 绑定的固定私有IP

然后用配置文件启动:

/root/cloudflared tunnel run --config backend-config.yml

三、前端服务器部署Cloudflared并加入私有网络

前端服务器也得装Cloudflared,并且加入同一个私有网络才能访问后端的固定IP:

  1. 安装Cloudflared(和后端操作一致)
  2. 创建frontend-config.yml:
tunnel: $FRONTEND_TUNNEL_NAME  # 前端自己的隧道,要先在Cloudflare后台创建并拿token
credentials-file: /root/.cloudflared/$FRONTEND_TUNNEL_TOKEN.json
protocol: http2
no-autoupdate: true
private-network:
  - 10.0.0.0/24  # 和之前配置的私有IP段一致
  1. 启动前端的Cloudflared:
/root/cloudflared tunnel run --config frontend-config.yml

四、前端访问后端固定IP

现在前端的Nginx可以直接用proxy_pass http://10.0.0.1:8008访问后端服务,和访问本地机器完全一样。

可以在前端服务器上用curl http://10.0.0.1:8008验证,能拿到后端响应就说明配置成功。

注意事项

  • 所有隧道必须属于同一个Cloudflare账户的同一个Zero Trust组织
  • 私有IP段别和你现有网络的IP段冲突
  • 后端多端口服务直接用IP:端口访问就行

内容的提问来源于stack exchange,提问作者Alireza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 13:35:25