Clawdbot+Qwen3:32B部署教程:Clawdbot TLS证书配置与HTTPS安全访问全步骤
1. Clawdbot是什么:一个面向开发者的AI代理网关平台
Clawdbot 是一个统一的AI 代理网关与管理平台,它不是单纯的模型推理服务,而是一套完整的“AI代理操作系统”——帮你把多个大模型、工具链、工作流和权限控制整合在一个界面里。你可以把它理解成 AI 时代的 Nginx + Dashboard + Auth Center 三合一工具。
它不直接训练模型,但能让你轻松接入本地或远程的各类模型 API(比如 Ollama、OpenAI、Anthropic、本地 vLLM 服务等),并通过图形化界面完成:
- 创建多角色代理(客服助理、代码审查员、文档摘要器)
- 配置模型路由策略(按请求内容自动分发到不同模型)
- 实时监控 token 消耗、响应延迟、错误率
- 设置访问令牌、会话隔离、速率限制
尤其对中小团队和独立开发者来说,Clawdbot 省去了自己搭反向代理、写鉴权中间件、维护前端聊天 UI 的重复劳动。你专注在“这个代理该做什么”,而不是“怎么让请求不被拒绝”。
而本次教程聚焦一个关键但常被忽略的环节:如何让 Clawdbot 在公网或内网环境中,通过 HTTPS 安全访问?
很多用户部署完发现只能用 HTTP 访问,浏览器提示“不安全”,API 调用被拦截,甚至某些企业网络直接屏蔽非 HTTPS 流量——这背后缺的不是模型,而是 TLS 证书配置。
我们以Clawdbot 整合本地 Ollama 托管的 Qwen3:32B 模型为实际场景,手把手带你完成从零到 HTTPS 可信访问的全部步骤,不跳过任何一个坑。
2. 环境准备与基础部署:先跑起来,再加锁
在配置 HTTPS 前,必须确保 Clawdbot 本身已稳定运行,并能正确调用 Qwen3:32B。以下步骤默认你已在 Linux(Ubuntu/Debian/CentOS)或 macOS 上操作,且已安装必要依赖。
2.1 基础依赖安装
Clawdbot 本身是 Node.js 应用,Qwen3:32B 由 Ollama 提供服务,因此需先确认:
# 检查 Node.js(建议 v18.17+ 或 v20.9+) node -v npm -v # 检查 Ollama 是否已安装并运行 ollama list # 若未安装,请前往 https://ollama.com/download 下载对应版本 # 启动 Ollama 服务(后台常驻) systemctl enable ollama && systemctl start ollama # 或 macOS 直接运行:ollama serve小贴士:Qwen3:32B 对显存要求较高,官方推荐 24GB+ GPU 显存。若你的设备显存不足(如仅 16GB),可先用
qwen3:4b或qwen3:14b验证流程,再升级硬件或使用云 GPU。
2.2 获取并启动 Clawdbot
Clawdbot 当前以开源 CLI 工具形式发布,无需 clone 仓库编译:
# 全局安装 Clawdbot CLI(需 npm) npm install -g clawdbot # 初始化项目目录(会在当前文件夹生成 .clawdbot/ 配置) clawdbot init # 启动网关服务(默认监听 http://localhost:3000) clawdbot onboard此时打开浏览器访问http://localhost:3000,应看到 Clawdbot 控制台首页。但注意:这是本地 HTTP,不可外网访问,也不安全——接下来我们要让它支持 HTTPS。
2.3 配置 Qwen3:32B 模型接入
Clawdbot 默认不预置任何模型,需手动添加 Ollama 的 Qwen3:32B。编辑配置文件:
# 打开配置文件(路径通常为 ~/.clawdbot/config.json) nano ~/.clawdbot/config.json在"providers"字段中添加如下内容(替换为你实际的 Ollama 服务地址):
"my-ollama": { "baseUrl": "http://127.0.0.1:11434/v1", "apiKey": "ollama", "api": "openai-completions", "models": [ { "id": "qwen3:32b", "name": "Local Qwen3 32B", "reasoning": false, "input": ["text"], "contextWindow": 32000, "maxTokens": 4096, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } } ] }保存后重启服务:
clawdbot onboard --force-restart回到网页,进入Providers → my-ollama,点击 “Test Connection”,应看到绿色 和返回的模型列表,说明 Qwen3:32B 已成功接入。
3. TLS 证书配置:从自签名到可信 HTTPS
Clawdbot 内置 Express 服务器,支持原生 HTTPS 模式。要启用 HTTPS,核心是提供两个文件:
cert.pem:TLS 证书(公钥)key.pem:私钥(必须严格保密)
我们将分两步走:先用自签名证书快速验证 HTTPS 流程,再升级为 Let’s Encrypt 签发的免费可信证书。
3.1 方案一:快速验证 —— 生成自签名证书
适用于开发测试、内网部署、临时演示。浏览器会提示“连接不安全”,但可手动信任。
# 创建证书存放目录 mkdir -p ~/.clawdbot/certs # 生成私钥(2048位,AES加密保护) openssl genrsa -aes256 -out ~/.clawdbot/certs/key.pem 2048 # 生成证书签名请求(CSR),按提示填写信息(Common Name 填你的域名或 IP) openssl req -new -key ~/.clawdbot/certs/key.pem -out ~/.clawdbot/certs/csr.pem # 自签名生成证书(有效期365天) openssl x509 -req -days 365 -in ~/.clawdbot/certs/csr.pem -signkey ~/.clawdbot/certs/key.pem -out ~/.clawdbot/certs/cert.pem注意:执行
openssl req时,Common Name (CN)必须填你将用于访问 Clawdbot 的地址,例如:
- 内网部署:填
192.168.1.100或clawdbot.local- 公网部署:填你的域名
clawdbot.example.com
否则浏览器会报“证书域名不匹配”。
3.2 方案二:生产就绪 —— Let’s Encrypt 免费证书
适用于有备案域名、需对外提供服务的场景。我们使用certbot自动获取。
前提条件:
- 你拥有一个已解析到本机公网 IP 的域名(如
clawdbot.yourdomain.com) - 本机 80 端口可被公网访问(用于 ACME 协议验证)
- 已安装 certbot:
sudo apt install certbot(Ubuntu/Debian)或brew install certbot(macOS)
获取证书:
# 停止 Clawdbot(避免占用 80 端口) clawdbot stop # 使用 standalone 模式申请证书(自动监听 80 端口) sudo certbot certonly --standalone -d clawdbot.yourdomain.com # 证书默认存放在: # /etc/letsencrypt/live/clawdbot.yourdomain.com/fullchain.pem ← cert.pem # /etc/letsencrypt/live/clawdbot.yourdomain.com/privkey.pem ← key.pem # 创建软链接到 Clawdbot 目录(便于管理) mkdir -p ~/.clawdbot/certs sudo ln -sf /etc/letsencrypt/live/clawdbot.yourdomain.com/fullchain.pem ~/.clawdbot/certs/cert.pem sudo ln -sf /etc/letsencrypt/live/clawdbot.yourdomain.com/privkey.pem ~/.clawdbot/certs/key.pem成功后,你的证书受主流浏览器信任,访问时不再有安全警告。
4. 启用 Clawdbot HTTPS 模式:配置与启动
Clawdbot 从 v0.8.0+ 开始支持--https参数,只需指定证书路径即可。
4.1 修改启动命令
不再使用clawdbot onboard,改用 HTTPS 启动:
# 启动 HTTPS 服务(默认端口 3001,HTTP 仍可用 3000,但建议关闭) clawdbot onboard --https --cert ~/.clawdbot/certs/cert.pem --key ~/.clawdbot/certs/key.pem --port 3001关键参数说明:
--https:启用 HTTPS 模式--cert:指向你的cert.pem文件--key:指向你的key.pem文件--port 3001:HTTPS 默认端口(避免与 HTTP 3000 冲突)
4.2 验证 HTTPS 是否生效
- 打开浏览器,访问
https://localhost:3001(本地)或https://clawdbot.yourdomain.com:3001(公网) - 查看地址栏:应显示 锁形图标,点击可查看证书详情
- 尝试在聊天界面输入问题,调用 Qwen3:32B,确认功能完全正常
❗ 常见问题排查:
- ERR_SSL_VERSION_OR_CIPHER_MISMATCH:检查 Node.js 版本是否 ≥ v18,旧版本不支持 TLS 1.3
- 证书不受信任(自签名):Chrome 中点击地址栏锁图标 → “证书” → “详细信息” → “复制到文件” → 导入系统钥匙串(macOS)或受信任根证书颁发机构(Windows)
- 连接被拒绝:确认防火墙放行 3001 端口(
sudo ufw allow 3001)
4.3 (可选)反向代理方案:Nginx 统一入口
如果你已有 Nginx,更推荐用它做 HTTPS 终结,Clawdbot 仍跑 HTTP,更轻量、更灵活:
# /etc/nginx/sites-available/clawdbot server { listen 443 ssl http2; server_name clawdbot.yourdomain.com; ssl_certificate /etc/letsencrypt/live/clawdbot.yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/clawdbot.yourdomain.com/privkey.pem; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } # 同时重定向 HTTP 到 HTTPS server { listen 80; server_name clawdbot.yourdomain.com; return 301 https://$server_name$request_uri; }启用配置后:
sudo nginx -t && sudo systemctl reload nginx # 此时访问 https://clawdbot.yourdomain.com 即可,Clawdbot 保持 `clawdbot onboard` 启动5. 安全增强实践:Token 访问控制与 HTTPS 强制策略
HTTPS 解决了传输层加密,但还需防止未授权访问。Clawdbot 提供两级防护:网关 Token和会话 Token。
5.1 网关 Token:首次访问必填的“门禁卡”
正如你看到的提示:
disconnected (1008): unauthorized: gateway token missing (open a tokenized dashboard URL or paste token in Control UI settings)
这是 Clawdbot 的默认安全机制。解决方法很简单:
- 初始访问 URL 形如:
https://gpu-pod6978c4fda2b3b8688426bd76-18789.web.gpu.csdn.net/chat?session=main - 删除
/chat?session=main,追加?token=csdn - 最终 URL:
https://gpu-pod6978c4fda2b3b8688426bd76-18789.web.gpu.csdn.net/?token=csdn
第一次成功访问后,Clawdbot 会将 token 存入浏览器 localStorage,后续所有页面跳转自动携带,无需重复输入。
进阶建议:在生产环境,将
token改为强随机字符串(如openssl rand -hex 16生成),并在启动时通过环境变量注入:CLAWDBOT_GATEWAY_TOKEN="a1b2c3d4..." clawdbot onboard --https ...
5.2 强制 HTTPS 重定向(Node.js 层)
即使你用了 Nginx,也可在 Clawdbot 内部加一层保险。创建启动脚本start-https.js:
const { exec } = require('child_process'); // 检查是否为 HTTPS 请求,否则重定向 const redirectScript = ` if (!process.env.HTTPS) { console.log(' HTTPS 强制启用:正在重定向 HTTP 请求...'); // 此处可集成 express-sslify 等中间件,或交由 Nginx 处理 } `; exec('clawdbot onboard --https --cert ~/.clawdbot/certs/cert.pem --key ~/.clawdbot/certs/key.pem --port 3001', (err, stdout, stderr) => { if (err) console.error(stderr); console.log(stdout); });更推荐的做法是:在 Nginx 中配置强制 HTTPS,Clawdbot 专注业务逻辑,符合 Unix 哲学——各司其职。
6. 总结:从 HTTP 到可信 HTTPS 的完整闭环
回顾整个流程,你已完成:
- 在本地或服务器上成功部署 Clawdbot + Qwen3:32B 组合
- 掌握两种 TLS 证书方案:自签名(快)与 Let’s Encrypt(可信)
- 通过
--https参数一键启用 HTTPS,或通过 Nginx 反向代理优雅终结 - 理解并配置了网关 Token 机制,实现基础访问控制
- 获得了可在公网安全暴露的 AI 代理管理平台
这不是一个“能用就行”的临时方案,而是一套可复用、可审计、可扩展的安全基线。当你未来接入更多模型(如 Qwen3:72B、DeepSeek-V3)、更多工具(代码执行、数据库查询)、更多用户(RBAC 权限体系)时,这套 HTTPS + Token 架构依然稳固可靠。
最后提醒一句:证书有有效期,Let’s Encrypt 证书 90 天过期。别忘了设置自动续期:
# 添加到 crontab,每月 1 号凌晨 2 点续期 0 2 1 * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"现在,你的 Clawdbot 不仅“能跑”,而且“跑得安全、跑得专业”。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。