OpenClaw怎么云服务器 SSL 证书部署
时间:2026-03-09 | 作者:互联网 | 阅读:0云服务器 SSL 证书部署
当您在云服务器上部署 Openclaw 并尝试从浏览器访问控制界面时,可能会遇到以下错误:
这是因为 Openclaw 的 Web 控制界面需要 安全上下文(Secure Context) 才能正常工作。浏览器只在以下情况下提供安全上下文:
- 通过localhost或127.0.0.1访问
- 通过 HTTPS 访问
本文档将介绍几种解决方案。
方案一:使用反向代理 + Let's Encrypt(推荐)
这是最推荐的生产环境方案,使用 Nginx 作为反向代理,配合 Let's Encrypt 免费证书。
前提条件
- 一个指向您服务器 IP 的域名
- 服务器开放 80 和 443 端口
步骤 1:安装 Nginx 和 Certbot
Ubuntu/Debian:
sudo apt install -y nginx certbot python3-certbot-nginx
CentOS/RHEL:
sudo yum install -y nginx certbot python3-certbot-nginx
sudo systemctl enable nginx
sudo systemctl start nginx
步骤 2:配置 Nginx 反向代理
创建 Nginx 配置文件:
添加以下内容(将your-domain.com替换为您的域名):
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:18789;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
proxy_read_timeout 86400;
}
}
启用配置:
sudo nginx -t
sudo systemctl reload nginx
步骤 3:申请 Let's Encrypt 证书
按提示操作,Certbot 会自动配置 HTTPS 并设置自动续期。
步骤 4:配置 Openclaw
编辑~/.openclaw/openclaw.json:
gateway: {
// 绑定到本地,由 Nginx 代理
bind: "loopback",
port: 18789,
// 配置信任的代理地址
trustedProxies: ["127.0.0.1"],
// 启用认证(推荐)
auth: {
mode: "token",
token: "your-secure-token-here"
}
}
}
重启 Openclaw:
步骤 5:访问控制界面
打开浏览器访问https://your-domain.com,输入配置的 token 即可。
方案二:使用 Openclaw 内置 TLS
Openclaw 支持内置 TLS,可以直接配置证书。
使用自签名证书(开发/测试)
gateway: {
bind: "lan", // 或 "0.0.0.0"
port: 18789,
tls: {
enabled: true,
autoGenerate: true // 自动生成自签名证书
},
auth: {
mode: "token",
token: "your-secure-token-here"
}
}
}
注意: 自签名证书会导致浏览器显示安全警告,需要手动信任。
使用正式证书
{
gateway: {
bind: "lan",
port: 18789,
tls: {
enabled: true,
certPath: "/path/to/fullchain.pem",
keyPath: "/path/to/privkey.pem"
},
auth: {
mode: "token",
token: "your-secure-token-here"
}
}
}
方案三:使用 Tailscale(简单易用)
如果您使用 Tailscale 组网,这是最简单的方案。
步骤 1:安装并登录 Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
步骤 2:配置 Openclaw
gateway: {
bind: "loopback",
tailscale: {
mode: "serve" // 或 "funnel" 用于公网访问
},
auth: {
allowTailscale: true // 允许 Tailscale 身份认证
}
}
}
步骤 3:访问
通过 Tailscale MagicDNS 地址访问:https://<your-machine>.<tailnet>.ts.net/
方案四:仅开发/测试用 - 禁用安全检查
⚠️ 警告:此方案仅用于开发测试,切勿在生产环境使用!
如果您只是临时测试,可以禁用控制界面的安全检查:
gateway: {
bind: "lan",
port: 18789,
controlUi: {
// 允许 HTTP 下使用 token 认证
allowInsecureAuth: true
},
auth: {
mode: "token",
token: "your-token-here"
}
}
}
然后通过http://your-server-ip:18789访问。
常见问题
Q: 为什么必须使用 HTTPS?
Openclaw 控制界面使用 Web Crypto API 进行设备身份验证,这些 API 只在安全上下文(Secure Context)下可用。浏览器将localhost和 HTTPS 页面视为安全上下文。
Q: 可以使用 IP 地址而不是域名吗?
可以,但需要:
- 使用自签名证书(会有浏览器警告)
- 或使用方案四的不安全模式
Q: Let's Encrypt 证书如何自动续期?
Certbot 会自动设置定时任务,您可以通过以下命令测试续期:
Q: 反向代理后 WebSocket 连接失败?
确保 Nginx 配置中包含 WebSocket 相关的头部设置:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Q: 如何配置多个域名?
在 Nginx 配置中添加多个server_name,然后为每个域名申请证书:
安全建议
- 始终启用认证 - 设置gateway.auth.mode为token或password
- 使用强密码/Token - 避免使用简单的密码
- 限制访问来源 - 如果可能,使用防火墙限制访问 IP
- 定期更新证书 - Let's Encrypt 证书有效期 90 天,确保自动续期正常
- 保护私钥 - 证书私钥权限应为 600,仅 root 可读
来源:互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 阿里云怎么部署OpenClaw?三种方法全教你
- 时间:2026-03-09
-
- 超算互联网OpenClaw服务接入飞书、企业微信
- 时间:2026-03-09
-
- AI编码Agent真实战力大比拼!OpenClaw“小龙虾”排行榜出炉
- 时间:2026-03-09
-
- 2026养龙虾:卖工具的都得死,干活的请上座
- 时间:2026-03-09
-
- openclaw是哪个国家的?小龙虾来自哪里?
- 时间:2026-03-09
-
- openclaw是什么?为什么叫小龙虾
- 时间:2026-03-09
-
- openclaw国内能用吗
- 时间:2026-03-09
-
- 网友吐槽在腾讯装完OpenClaw后一直被扣费 回应:相关费用为历史使用产生 与本次OpenClaw部署无关
- 时间:2026-03-09
精选合集
更多大家都在玩
大家都在看
更多-
- 秘杀名单第30集剧情介绍
- 时间:2026-03-09
-
- 秘杀名单第29集剧情介绍
- 时间:2026-03-09
-
- 秘杀名单第28集剧情介绍
- 时间:2026-03-09
-
- 秘杀名单第27集剧情介绍
- 时间:2026-03-09
-
- 秘杀名单第26集剧情介绍
- 时间:2026-03-09
-
- 秘杀名单第25集剧情介绍
- 时间:2026-03-09
-
- 秘杀名单第24集剧情介绍
- 时间:2026-03-09
-
- 秘杀名单第23集剧情介绍
- 时间:2026-03-09