OpenClaw 配置 Nginx 反向代理完整指南

OpenClaw 配置 Nginx 反向代理完整指南

OpenClaw 配置 Nginx 反向代理完整指南

将 OpenClaw Gateway 安全地暴露到公网,并通过 HTTPS 和登录保护确保访问安全。

前言

OpenClaw 是一个强大的 AI 助手网关,默认情况下它只监听本地回环地址 (127.0.0.1:18789)。如果你想从外部网络访问 Control UI,或者为团队提供安全的访问入口,配置 Nginx 反向代理是最佳实践。

本文将介绍如何:

  • ✅ 配置 Nginx 反向代理到 OpenClaw
  • ✅ 启用 HTTPS (Let’s Encrypt SSL 证书)
  • ✅ 添加 Basic Auth 登录保护
  • ✅ 配置 OpenClaw 信任代理模式

环境准备

  • 服务器: CentOS Stream 9 / Ubuntu 20.04+ / Debian 10+
  • 域名: 已解析到服务器 IP(本文以 www.zhonghongwei.site 为例)
  • OpenClaw: 已安装并运行在本地模式
  • 端口: 80/443 未被占用

步骤一:安装 Nginx 和 Certbot

# CentOS/RHELsudo dnf install-y nginx certbot python3-certbot-nginx # Ubuntu/Debiansudoapt update sudoaptinstall-y nginx certbot python3-certbot-nginx # 启动 Nginxsudo systemctl start nginx sudo systemctl enable nginx 

步骤二:配置 OpenClaw 信任代理模式

编辑 ~/.openclaw/openclaw.json,在 gateway 部分添加以下配置:

{"gateway":{"port":18789,"mode":"local","bind":"loopback","trustedProxies":["127.0.0.1"],"auth":{"mode":"trusted-proxy","trustedProxy":{"userHeader":"x-forwarded-user","requiredHeaders":["x-forwarded-proto","x-forwarded-host"]}},"controlUi":{"allowedOrigins":["https://www.zhonghongwei.site"]}}}

关键参数说明

参数说明
bind: "loopback"只监听本地地址,禁止外部直接访问
trustedProxies信任的代理服务器 IP,此处为 Nginx
mode: "trusted-proxy"启用信任代理认证模式
userHeaderNginx 传递用户身份的 Header
allowedOrigins允许的 Control UI 来源域名

重启 OpenClaw Gateway:

openclaw gateway restart 

步骤三:配置 Nginx 反向代理

创建 /etc/nginx/conf.d/openclaw.conf

# OpenClaw Nginx 配置 # HTTP 重定向到 HTTPS server { listen 80; server_name www.zhonghongwei.site; return 301 https://$host$request_uri; } # HTTPS 服务 server { listen 443 ssl http2; server_name www.zhonghongwei.site; # SSL 证书路径(步骤四会自动配置) ssl_certificate /etc/letsencrypt/live/www.zhonghongwei.site/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.zhonghongwei.site/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # 安全响应头 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; # 日志配置 access_log /var/log/nginx/openclaw-access.log; error_log /var/log/nginx/openclaw-error.log; location / { # WebSocket 支持(必需) proxy_pass http://127.0.0.1:18789; # 核心:这里清空认证头防止冲突 proxy_set_header Authorization ""; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # 转发用户身份(信任代理模式必需) proxy_set_header X-Forwarded-User $remote_user; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 超时设置(WebSocket 长连接) proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 86400s; proxy_buffering off; } } 

测试并重载配置:

nginx -t nginx -s reload 

步骤四:申请 SSL 证书

使用 Let’s Encrypt 免费证书:

# 申请证书sudo certbot --nginx-d www.zhonghongwei.site # 测试自动续期sudo certbot renew --dry-run 

Certbot 会自动:

  • 生成 SSL 证书
  • 修改 Nginx 配置添加证书路径
  • 设置自动续期任务

步骤五:添加登录保护(可选但强烈建议)

为了防止未授权访问,建议添加 Basic Auth 登录。

1. 创建密码文件

# 创建账号密码(用户名: admin)sudosh-c'echo "admin:$(openssl passwd -apr1 你的密码)" > /etc/nginx/.htpasswd'# 添加更多用户sudosh-c'echo "用户名:$(openssl passwd -apr1 密码)" >> /etc/nginx/.htpasswd'

2. 启用 Basic Auth

在 Nginx 配置中添加两行:

server { listen 443 ssl http2; server_name www.zhonghongwei.site; # 添加登录保护 auth_basic "OpenClaw Login"; auth_basic_user_file /etc/nginx/.htpasswd; location / { # ... 原有配置 } } 

重载 Nginx:

sudo nginx -t&&sudo systemctl reload nginx 

验证部署

访问 https://www.zhonghongwei.site,你应该看到:

  1. 🔒 浏览器显示安全锁(SSL 生效)
  2. 📝 弹出登录框(Basic Auth)
  3. 🤖 登录后进入 OpenClaw Control UI

常见问题

1. “origin not allowed” 错误

原因: allowedOrigins 配置不匹配
解决: 在 openclaw.json 中添加你的访问地址:

"allowedOrigins":["https://www.zhonghongwei.site"]

2. WebSocket 连接失败 (1008 unauthorized)

原因: 缺少必要的转发 Headers
解决: 确保 Nginx 配置中包含:

proxy_set_header X-Forwarded-User $remote_user; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; 

3. 证书续期失败

检查:

sudo certbot certificates sudo certbot renew --dry-run 

手动续期:

sudo certbot renew sudo systemctl reload nginx 

安全建议

  1. 定期更换密码: 建议每 3-6 个月更换一次 Basic Auth 密码
  2. 限制访问来源: 如需更高安全性,可在 Nginx 中添加 IP 白名单

访问日志监控: 定期检查异常访问

sudotail-f /var/log/nginx/openclaw-access.log 

防火墙设置: 只开放 80/443 端口,禁止外部访问 18789

sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload

总结

通过本文的配置,你已经完成了:

  • ✅ OpenClaw 信任代理模式配置
  • ✅ Nginx 反向代理 + HTTPS
  • ✅ Let’s Encrypt SSL 证书
  • ✅ Basic Auth 登录保护

现在你可以安全地从任何地方访问你的 OpenClaw Control UI 了!


相关链接:

配置文件备份:

  • ~/.openclaw/openclaw.json
  • /etc/nginx/conf.d/openclaw.conf
  • /etc/nginx/.htpasswd

小技巧:直接把这个博客内容发给openclaw,让它帮你配置。

Read more

推出轮式人形机器人Zerith-H1(Home1)及垂直场景操作基础模型Zerith-V0 零次方机器人启动全模态数据采集中心,破解具身智能“卡脖子”难题

23,065 views 28 May 2025 产品定位:推出轮式人形机器人Zerith-H1(Home1)及垂直场景操作基础模型Zerith-V0,专注酒店、餐厅等类家庭服务场景,提供任务聚焦、交互轻量化的智能解决方案。 场景策略:采用“垂直场景切入-家庭场景延伸”路径,优先选择酒店清洁、餐厅备餐等流程明确的场景,降低技术复杂度,快速验证商业闭环。 技术验证:借鉴自动驾驶“锁定场景-泛化背景”模式,通过定义清晰任务边界(如布草整理)突破物体与背景泛化瓶颈,利用真实试错数据加速模型迭代。 模型创新:Zerith-V0采用“认知-行为”双系统架构,以

By Ne0inhk
【机器人】具身导航 VLN 最新论文汇总 | Vision-and-Language Navigation

【机器人】具身导航 VLN 最新论文汇总 | Vision-and-Language Navigation

本文汇总了具身导航的论文,供大家参考学习,涵盖2026、2025、2024、2023等 覆盖的会议和期刊:CVPR、IROS、ICRA、RSS、arXiv等等 论文和方法会持续更新的~ 一、🏠 中文标题版 2026 ✨ * [2026] SeqWalker:基于分层规划的时序视野视觉语言导航方法 [ 论文 ] [ GitHub ]   * [2026] UrbanNav:从网络规模人类轨迹中学习语言引导的城市导航方法 [ 论文 ] [ GitHub ]  * [2026] VLN-MME:面向语言引导视觉导航智能体的多模态大语言模型诊断基准 [ 论文 ] [ GitHub ]  * [2026] ASCENT: 实现楼层感知的零样本物体目标导航  [ 论文] [ GitHub ] 2025 😆 * [2025] ETP-R1:面向连续环境VLN的进化拓扑规划与强化微调方法 [ 论文 ] [ GitHub ] * [2025] NaviTrace:评估视觉语言模型在真实世界场景中的导航能力 [ 论文 ] [ GitHub ] * [2025]

By Ne0inhk

教你一步步在 服务器/本地(Linux/Windows) 部署鸣潮QQ机器人,并将其接入大语言模型,实现通过机器人进行库街区签到、练度查询、攻略查询等功能 (1)

准备工作 一台轻量级服务器/ 本地windows/linux能够在服务器/本地 科学上网 环境部署 笔者所演示的环境为阿里云服务器(2核CPU,2GIB内存,40GIB系统盘),操作系统为 Ubuntu 24.04. 确保已成功安装Python环境(版本须>3.8, 建议>=3.12,不建议>=3.13) 确保已成功安装git 如果你没有安装git且的系统是ubuntu,安装git只需要输入 如果系统为Windows,则自行前往 🔗官网 下载安装包安装即可 创建虚拟环境 从 Python 3.11 开始,Debian 和 Ubuntu 默认启用了 "Externally-Managed-Environment"(外部管理环境)保护机制,

By Ne0inhk
3、超越CRUD:用JeecgBoot低代码模式,一天搭建功能完备的请假审批系统

3、超越CRUD:用JeecgBoot低代码模式,一天搭建功能完备的请假审批系统

超越CRUD:用JeecgBoot低代码模式,一天搭建功能完备的请假审批系统 引言:低代码革命与JeecgBoot的崛起 在当今快速变化的商业环境中,企业应用开发的传统瓶颈日益凸显:开发周期长、成本高、对专业开发人员依赖度强、难以快速响应业务变化。根据Forrester Research的报告,超过60%的企业应用开发项目存在延期交付问题,而低代码开发平台正成为解决这一困境的关键技术。 JeecgBoot作为国内领先的Java低代码开发平台,凭借其强大的代码生成能力和可视化开发工具,让开发者能够以惊人的速度构建企业级应用。本文将通过一个完整的“请假审批系统”实战案例,深入解析JeecgBoot的低代码核心原理,并展示如何在一天内完成一个功能完备的后台系统开发。 一、JeecgBoot低代码架构深度解析 1.1 JeecgBoot整体架构概览 JeecgBoot采用经典的前后端分离架构,但其核心价值在于提供了一系列可视化低代码工具,大幅降低了开发门槛。下面的架构图展示了JeecgBoot的核心组件及其协作关系: 这种架构设计的核心优势在于分层解耦和工具集成。Jeecg

By Ne0inhk