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

如何通过Cloudflare实现IP:PORT转发?遇"Invalid Target"错误求助

解决Cloudflare中IP:PORT转发的"Invalid Target"问题

首先明确:Cloudflare的常规DNS记录(A/AAAA/CNAME)不支持直接填写带端口的目标地址,这就是你遇到"Invalid Target"错误的核心原因。下面是两种可行的解决方案:

方案一:使用Cloudflare Tunnel(原Argo Tunnel)

这是最安全的方式,无需暴露你的源站公网IP:

  • 在你的服务器上安装cloudflared客户端
  • 执行cloudflared tunnel create <自定义隧道名称>创建隧道,记录生成的隧道ID
  • 创建配置文件(比如config.yml),指定转发规则:
    tunnel: <你的隧道ID>
    credentials-file: ~/.cloudflared/<隧道ID>.json
    ingress:
      - hostname: your-domain.com
        service: http://localhost:你的端口  # 或者你的内网IP:端口
      - service: http_status:404
    
  • 在Cloudflare DNS面板添加一条CNAME记录,将你的域名指向<隧道ID>.cfargotunnel.com
  • 启动隧道服务:cloudflared tunnel run <隧道名称>

方案二:使用Cloudflare Workers做反向代理

适合轻量转发需求,通过代码实现请求转发:

  1. 登录Cloudflare控制台,进入Workers页面创建新Worker
  2. 替换默认脚本为以下内容(修改目标地址):
    addEventListener('fetch', event => {
      event.respondWith(handleRequest(event.request))
    })
    
    async function handleRequest(request) {
      const target = new URL(request.url)
      target.host = '你的公网IP:目标端口'
      // 可选:如果源站需要识别真实访客IP,添加请求头
      target.headers.set('X-Forwarded-For', request.headers.get('CF-Connecting-IP'))
      return fetch(target, request)
    }
    
  3. 将Worker绑定到你的域名(在Workers的"触发器"中添加自定义域名)

关键注意点

  • 页面规则无法实现端口转发,它仅能修改缓存策略、请求头这类规则,不能直接跳转/转发到带端口的地址
  • 使用Worker时,确保你的源站防火墙允许Cloudflare的IP段访问,否则会返回502错误
  • Cloudflare Tunnel适合需要隐藏源站IP的场景,Worker则更灵活,适合快速搭建转发

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 08:43:25