通过 OpenResty/Nginx 将 OpenClaw Control UI 以 HTTPS 方式对外提供访问,并添加密码保护。
baby-claw/ ├── claw.zhongxiaojie.cn.conf # Nginx 站点配置 ├── setup-password.sh # 密码文件生成脚本 └── README.md # 本文档
htpasswd 的登录表单(/login)+ Cookie 会话,访问时会自动跳转到登录页http://127.0.0.1:18789127.0.0.1:18789claw.zhongxiaojie.cn 已解析到服务器证书存放路径:/home/ubuntu/claw.zhongxiaojie.cn_nginx/
| 文件 | 说明 |
|---|---|
claw.zhongxiaojie.cn_bundle.pem | SSL 证书(也可使用 .crt) |
claw.zhongxiaojie.cn.key | 私钥 |
sudo mkdir -p /usr/local/openresty/nginx/conf/vhost
sudo cp claw.zhongxiaojie.cn.conf /usr/local/openresty/nginx/conf/vhost/
编辑 nginx.conf,在 http {} 块中添加:
include vhost/*.conf;
# 安装 htpasswd 工具
sudo apt install apache2-utils
# 执行密码生成脚本
chmod +x setup-password.sh
./setup-password.sh
# 如果你的 `setup-password.sh` 生成路径不是 `/etc/nginx/auth/claw.htpasswd`,请修改脚本的 `PASSWORD_FILE`
# 或直接跳过脚本,使用下面的“手动创建”命令。
# 或手动创建
htpasswd -c /etc/nginx/auth/claw.htpasswd claw_user
按提示输入密码。添加新用户时不要使用 -c 参数,否则会覆盖现有用户:
htpasswd /etc/nginx/auth/claw.htpasswd 新用户名
# 检查配置语法
sudo openresty -t
# 重载配置
sudo openresty -s reload
https://claw.zhongxiaojie.cnhttp://127.0.0.1:18789首次访问会跳转到 https://claw.zhongxiaojie.cn/login,在登录表单中输入 .htpasswd 里的用户名/密码即可。
登录成功后会签发 claw_session Cookie(有效期 1 天),后续请求将自动放行并按 next 参数跳转到目标页面。
若使用 .crt 而非 .pem,修改配置中的证书路径:
ssl_certificate /home/ubuntu/claw.zhongxiaojie.cn_nginx/claw.zhongxiaojie.cn_bundle.crt;
初始化环境:./setup-web-scraper.sh(创建 venv、安装 Chrome / chromedriver、安装 requirements.txt)。
python web_scraper.py 'https://example.com' -o ./out--no-headless。--skip-chrome 跳过浏览器安装(本机已有 Chrome 时常用);--skip-chromedriver 跳过 apt/brew 安装驱动。web-scraper.env(含检测到的 CHROME_BIN / CHROMEDRIVER_PATH),运行前可:source ./web-scraper.env。脚本已改为显式使用本机 chromedriver,不再依赖 Selenium Manager 自动下载。
sudo apt-get update && sudo apt-get install -y chromium-chromedrivergoogle-chrome --version 主版本一致的 chromedriver,解压后:
export CHROMEDRIVER_PATH=/path/to/chromedriverexport CHROME_BIN=/usr/bin/google-chrome