如何用 Nginx 安全部署 OpenClaw?
如何用 Nginx 安全部署 OpenClaw?
在生产环境中部署 OpenClaw 时,直接暴露 Gateway 端口通常存在安全风险,例如未加密通信、接口被扫描、暴力请求或未授权访问。因此,使用 Nginx 作为反向代理可以显著提升 OpenClaw 系统的安全性和稳定性。通过 Nginx 可以实现 HTTPS 加密访问、访问控制、请求限速、隐藏真实端口、日志记录以及负载均衡等功能。合理配置 Nginx 反向代理和安全策略,可以让 OpenClaw 在公网环境下稳定运行,同时有效保护 API 接口和系统服务。
一、部署 OpenClaw Gateway 服务
在配置 Nginx 之前,需要确保 OpenClaw Gateway 服务已经正常运行。
查看服务端口:
netstat -tlnp
OpenClaw Gateway 常见监听端口:
例如 Gateway 运行在:
http://127.0.0.1:8080
此端口仅用于内部访问,外部请求通过 Nginx 转发。
二、安装 Nginx
在 Linux 服务器上安装 Nginx。
Ubuntu / Debian:
sudo apt update
sudo apt install nginx
CentOS / Rocky Linux:
sudo yum install nginx
启动 Nginx:
sudo systemctl start nginx
设置开机启动:
sudo systemctl enable nginx
三、配置 Nginx 反向代理
创建 OpenClaw 的 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/openclaw
示例配置:
server {
listen 80;
server_name openclaw.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
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 Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
}
}
启用配置:
sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
测试配置:
sudo nginx -t
重新加载 Nginx:
sudo systemctl reload nginx
四、配置 HTTPS 加密访问
为了保护 OpenClaw API 请求数据,需要启用 HTTPS。
安装 Certbot:
sudo apt install certbot python3-certbot-nginx
申请 SSL 证书:
sudo certbot –nginx -d openclaw.example.com
证书安装完成后,Nginx 将自动启用 HTTPS。
https://openclaw.example.com
五、隐藏 OpenClaw Gateway 端口
为了防止攻击者直接访问 Gateway,可以通过防火墙关闭原始端口。
例如 Gateway 使用 8080:
sudo ufw deny 8080
这样只有 Nginx 可以访问 Gateway。
六、配置访问控制
可以限制只有指定 IP 地址访问 OpenClaw。
Nginx 配置:
location / {
allow 192.168.1.0/24;
deny all;
proxy_pass http://127.0.0.1:8080;
}
这样只有指定 IP 段可以访问系统。
七、配置 HTTP Basic 认证
为了防止未授权访问,可以为 OpenClaw 添加基础认证。
创建密码文件:
sudo apt install apache2-utils
htpasswd -c /etc/nginx/.htpasswd admin
Nginx 配置:
location / {
auth_basic “OpenClaw Login”;
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://127.0.0.1:8080;
}
访问系统时需要输入账号密码。
八、配置请求限速
为了防止 API 被恶意请求,可以限制访问速率。
Nginx 配置:
limit_req_zone $binary_remote_addr zone=openclaw:10m rate=10r/s;
server {
location / {
limit_req zone=openclaw burst=20;
proxy_pass http://127.0.0.1:8080;
}
}
该配置限制每秒最多 10 次请求。
九、启用安全头
通过添加安全 HTTP 头可以提升系统安全性。
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection “1; mode=block”;
add_header Strict-Transport-Security “max-age=31536000“;
这些安全头可以防止常见 Web 攻击。
十、配置 WebSocket 支持
如果 OpenClaw 使用 WebSocket 通信,需要在 Nginx 中启用升级协议。
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
}
这样可以保证实时通信正常。
十一、配置访问日志
为了监控访问行为,可以启用日志记录。
access_log /var/log/nginx/openclaw_access.log;
error_log /var/log/nginx/openclaw_error.log;
通过日志可以分析:
十二、使用负载均衡部署
如果 OpenClaw 需要高可用,可以配置 Nginx 负载均衡。
upstream openclaw_backend {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
Nginx 配置:
location / {
proxy_pass http://openclaw_backend;
}
这样可以分担系统负载。
十三、防止暴力扫描
可以通过 Nginx 拦截异常请求。
if ($request_method !~ ^(GET|POST|HEAD)$) {
return 444;
}
该配置拒绝异常请求方式。
十四、安全部署建议
通过合理配置 Nginx 反向代理、安全策略和访问控制,可以实现 OpenClaw 的安全部署,并有效保护系统免受网络攻击。
详情:https://www.
🌟 收藏
⤴️ 分享
💌 关注
有问题或需要技术支持?
微信: vx Lw-1101

一万网络・专业云计算与安全服务商
© 2026 一万网络 | 作者: 一万网络 | 来源: 一万网络
夜雨聆风