必须使用clawproxy主动拉取式隧道方案:在公网云服务器部署clawproxy服务,绑定备案域名并启用tls;内网jvs claw节点配置claw_proxy_url后通过docker-compose启动客户端连接;proxy端显式声明/claw-ui等路径代理规则,并集成auditd审计与每分钟300请求的熔断机制。

你需要让外部协作方临时访问内网部署的JVS Claw服务,但又不能直接暴露服务器端口或修改防火墙策略——此时必须用主动拉取式隧道方案绕过NAT和运营商封锁,同时确保所有流量经过审计与熔断控制。
准备公网中继服务器
在阿里云、腾讯云等平台购买一台最低配置的Linux云服务器(推荐Ubuntu 22.04 LTS),确保开放TCP 8080端口并绑定备案域名(如claw-proxy.yourcompany.com)。
执行以下命令安装Clawproxy Proxy服务:
curl -L https://github.com/mlolson/clawproxy/releases/download/v1.4.2/clawproxy-linux-amd64 -o /usr/local/bin/clawproxy && chmod +x /usr/local/bin/clawproxy
创建配置文件 /etc/clawproxy/config.yaml,填入以下内容(注意替换your_domain):
server:
host: "0.0.0.0"
port: 8080
tls:
enabled: true
domain: "claw-proxy.yourcompany.com"
email: "admin@yourcompany.com"
运行Proxy服务:
nohup clawproxy server --config /etc/clawproxy/config.yaml > /var/log/clawproxy.log 2>&1 &
【必须确认cloudflare或DNS服务商已正确解析该域名到云服务器IP,否则Claw客户端无法建立TLS握手】
配置内网JVS Claw节点为Claw客户端
进入JVS Claw部署目录(通常是 /opt/jvs-claw 或 ~/jvs-docker-compose),编辑 .env 文件,在末尾追加:
CLAW_PROXY_URL=https://claw-proxy.yourcompany.com:8080
CLAW_TUNNEL_ID=jvs-claw-prod-01
保存后执行:
docker-compose -f docker-compose-base.yml up -d
这一步会自动拉起Claw客户端容器,并尝试连接公网Proxy。若连接失败,请检查宿主机能否curl -v https://claw-proxy.yourcompany.com:8080 ——不通则说明DNS或证书问题。
验证隧道状态:在Proxy服务器上执行 clawproxy status,看到 jvs-claw-prod-01 显示 active 即表示隧道已通。
开放指定路径供外网访问
Clawproxy默认只代理HTTP请求,JVS Claw的Web控制台路径是 /claw-ui,需在Proxy配置中显式声明允许路径:
编辑 /etc/clawproxy/config.yaml,在server段下方添加:
tunnels:
- id: "jvs-claw-prod-01"
routes:
- path: "/claw-ui"
backend: "http://127.0.0.1:8081"
- path: "/api"
backend: "http://127.0.0.1:8081"
重启Proxy服务:
killall clawproxy && nohup clawproxy server --config /etc/clawproxy/config.yaml > /var/log/clawproxy.log 2>&1 &
现在外部用户可通过 https://claw-proxy.yourcompany.com/claw-ui 正常访问JVS Claw界面,所有请求均经由Clawproxy中继,原始内网IP对客户端完全不可见。
启用访问审计与熔断
第一步:在Proxy服务器上安装auditd并启用日志轮转:
sudo apt install auditd && sudo systemctl enable auditd
第二步:向 /etc/audit/rules.d/claw.rules 写入审计规则:
-w /var/log/clawproxy.log -p wa -k claw_access
-a always,exit -F arch=b64 -S connect -F a0=0x80000002 -k claw_tunnel
第三步:配置熔断阈值,在 /etc/clawproxy/config.yaml 中加入:
rate_limit:
window_seconds: 60
max_requests: 300
block_duration_seconds: 900
重启Proxy服务使熔断生效。当单个隧道ID每分钟请求超300次时,自动阻断15分钟。











