ClawdBot + Cloudflare Tunnel + Zero-Trust 部署指南
本文介绍了如何在 Windows、Linux 或 macOS 系统上部署 ClawdBot,并通过 Cloudflare Tunnel 实现内网穿透,结合 Zero-Trust 服务进行身份认证和安全访问。内容包括环境准备、Tunnel 安装与配置、DNS 设置、ClawdBot 安装(Docker 及手动方式)、Zero-Trust 策略配置以及故障排查。最终实现无需公网 IP 的安全远程访问方案。

本文介绍了如何在 Windows、Linux 或 macOS 系统上部署 ClawdBot,并通过 Cloudflare Tunnel 实现内网穿透,结合 Zero-Trust 服务进行身份认证和安全访问。内容包括环境准备、Tunnel 安装与配置、DNS 设置、ClawdBot 安装(Docker 及手动方式)、Zero-Trust 策略配置以及故障排查。最终实现无需公网 IP 的安全远程访问方案。

在开始之前,请确保你已经准备好以下内容:
问题:我没有域名怎么办? 解决方案:
问题:我没有服务器怎么办? 解决方案:
如果你已经有域名:
如果你没有域名:
你有两个选择:
cloudflared tunnel --url http://localhost:8080
在 Cloudflare Dashboard 中:
Cloudflare Tunnel 是一个工具,它会在你的服务器和 Cloudflare 之间建立一个安全的加密隧道。
以管理员身份打开 PowerShell,运行以下命令:
choco install cloudflared -y
如果还没有安装 Chocolatey:
Set-ExecutionPolicy Bypass -Scope Process-Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;iex((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
cloudflared-windows-amd64.execloudflared.exeC:\Windows\System32\ 目录cloudflared --versioncurl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb
sudo dpkg -i cloudflared.deb
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm -o cloudflared.rpm
sudo rpm -i cloudflared.rpm
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
sudo mv cloudflared-linux-amd64 /usr/local/bin/cloudflared
sudo chmod +x /usr/local/bin/cloudflared
brew install cloudflared
tar -xzf cloudflared-darwin-amd64.tgz
sudo mv cloudflared /usr/local/bin/cloudflared
sudo chmod +x /usr/local/bin/cloudflared
无论使用哪种方法,最后都应该能运行:
cloudflared --version
这一步会将你的 cloudflared 工具与你的 Cloudflare 账户关联起来。
cloudflared tunnel login
Tunnel 是连接你服务器和 Cloudflare 的通道。
cloudflared tunnel create clawdbot-tunnel
输出中的 ID 就是你的 Tunnel ID,请复制并保存。
cloudflared tunnel list
配置文件告诉 Tunnel 如何路由流量。
配置文件位置:
C:\Users\你的用户名\.cloudflared\config.yml~/.cloudflared/config.yml~/.cloudflared/config.yml编辑配置文件内容:
tunnel: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
credentials-file: /root/.cloudflared/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.json
ingress:
- hostname: clawdbot.yourdomain.com
service: http://localhost:8080
- service: http_status:404
创建配置文件 (Linux):
mkdir -p ~/.cloudflared
nano ~/.cloudflared/config.yml
现在需要在 Cloudflare 中配置 DNS 记录,将你的域名指向 Tunnel。
Tunnel-ID.cfargotunnel.comnslookup clawdbot.yourdomain.com
cloudflared tunnel run clawdbot-tunnel
打开浏览器,访问:https://clawdbot.yourdomain.com
方法一:使用 NSSM
.
ssm.exe install CloudflaredTunnel "C:\Windows\System32\cloudflared.exe" "tunnel --config C:\Users\你的用户名\.cloudflared\config.yml run clawdbot-tunnel"
创建 systemd 服务文件
sudo nano /etc/systemd/system/cloudflared.service
内容:
[Unit]
Description=Cloudflare Tunnel
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/cloudflared tunnel --config /root/.cloudflared/config.yml run clawdbot-tunnel
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable cloudflared
sudo systemctl start cloudflared
创建 launchd plist 文件
nano ~/Library/LaunchAgents/com.cloudflare.cloudflared.plist
加载服务:
launchctl load ~/Library/LaunchAgents/com.cloudflare.cloudflared.plist
方法一:从 GitHub 下载
git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
方法二:下载预编译版本
wget https://github.com/clawdbot/clawdbot/releases/latest/download/clawdbot-linux-amd64.tar.gz
tar -xzf clawdbot-linux-amd64.tar.gz
创建 docker-compose.yml
version: '3.8'
services:
clawdbot:
image: clawdbot/clawdbot:latest
container_name: clawdbot
restart: unless-stopped
ports:
- "127.0.0.1:8080:8080"
environment:
- NODE_ENV=production
- PORT=8080
volumes:
- ./data:/app/data
- ./logs:/app/logs
启动服务
docker-compose up -d
如果是 Node.js 应用:
npm install
npm start
如果是 Python 应用:
pip install -r requirements.txt
python app.py
非常重要: ClawdBot 应该只监听 localhost 或 127.0.0.1,不要监听 0.0.0.0。
Docker 方式:
ports:
- "127.0.0.1:8080:8080"
Node.js 应用:
app.listen(8080, '127.0.0.1', () => {
console.log('Server running on http://127.0.0.1:8080');
});
Python 应用:
app.run(host='127.0.0.1', port=8080)
http://localhost:8080 访问127.0.0.1:8080https://clawdbot.yourdomain.comcloudflared tunnel info clawdbot-tunnel
sudo systemctl status cloudflared
测试直接访问(应该失败)
curl http://你的服务器IP:8080
检查安全头
curl -I https://clawdbot.yourdomain.com
可能原因和解决方案:
可能原因和解决方案:
可能原因和解决方案:
可能原因和解决方案:
在不同服务器上运行不同的 Tunnel。
配置重试和超时。
使用 Cloudflare Analytics。
启用 Cloudflare 缓存。
配置 WAF 规则。
如果你已经完成了以上所有步骤,恭喜你!你已经成功部署了 ClawdBot,并通过 Cloudflare Tunnel 和 Zero-Trust 实现了安全访问。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online