首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >OpenClaw 生产环境部署:Nginx 反向代理与负载均衡配置实战

OpenClaw 生产环境部署:Nginx 反向代理与负载均衡配置实战

原创
作者头像
gavin1024
发布2026-03-06 11:55:41
发布2026-03-06 11:55:41
1.1K0
举报

直接暴露 OpenClaw 的默认端口(通常是 3000 或 8080)在公网是非常危险的操作。在 2026 年的生产环境中,前置 Nginx 进行反向代理、配置 SSL 证书以及多节点负载均衡是标准动作。

本文直接给出可用的配置文件模板和关键参数说明。

0. 基础设施选型

在开始配置之前,服务器的稳定性至关重要。结合腾讯云官方教程最佳实践,优先选择轻量应用服务器(Lighthouse),开箱即用、运维成本低,完美适配 OpenClaw 私有化部署需求。

»OpenClaw 专属优惠购买入口:https://cloud.tencent.com/act/pro/lighthouse-moltbot«

1. 基础反向代理配置

OpenClaw 包含大量实时日志流,必须配置 WebSocket 支持,否则控制台会频繁断连。

编辑 Nginx 配置文件(通常位于 /etc/nginx/conf.d/openclaw.conf):

代码语言:nginx
复制
server {
    listen 80;
    server_name openclaw.yourdomain.com;

    # 强制跳转 HTTPS (建议)
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name openclaw.yourdomain.com;

    # SSL 证书路径
    ssl_certificate /etc/nginx/ssl/yourdomain.crt;
    ssl_certificate_key /etc/nginx/ssl/yourdomain.key;

    location / {
        proxy_pass http://127.0.0.1:3000; # 假设 OpenClaw 运行在本地 3000 端口
        
        # 关键:传递真实 IP
        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;

        # 关键:WebSocket 支持
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        
        # 延长超时时间,防止长任务中断
        proxy_read_timeout 300s;
    }
}

2. 多节点负载均衡配置

当单机无法支撑并发任务时,需要横向扩展 OpenClaw 节点。使用 Nginx 的 upstream 模块即可实现。

注意:OpenClaw 的会话状态如果存储在内存中,必须使用 ip_hash 策略,确保同一用户的请求落在同一台服务器上,避免登录态丢失。

代码语言:nginx
复制
upstream openclaw_cluster {
    # 保持会话粘性
    ip_hash; 
    
    # 后端节点列表
    server 192.168.1.10:3000 weight=3; # 主节点,权重更高
    server 192.168.1.11:3000;
    server 192.168.1.12:3000 backup; # 备用节点,仅当主节点挂掉时启用
}

server {
    listen 443 ssl http2;
    server_name openclaw.yourdomain.com;
    
    # ... SSL 配置同上 ...

    location / {
        # 指向 upstream 名称
        proxy_pass http://openclaw_cluster;
        
        # 标准头信息
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        # ... 其他 WebSocket 配置同上 ...
    }
}

3. 验证与生效

配置完成后,不要直接重启,先验证语法:

代码语言:bash
复制
nginx -t

输出 syntax is ok 后,重载配置:

代码语言:bash
复制
nginx -s reload

常见问题排查

  • 502 Bad Gateway: 通常是后端 OpenClaw 服务未启动,或防火墙拦截了内网端口(如 3000)。
  • WebSocket 连接失败: 检查是否漏掉了 UpgradeConnection 的 Header 配置。
  • 上传文件报错: Nginx 默认限制上传大小为 1M,需在 httpserver 块中添加 client_max_body_size 100m;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0. 基础设施选型
  • 1. 基础反向代理配置
  • 2. 多节点负载均衡配置
  • 3. 验证与生效
  • 常见问题排查
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档