生产环境部署

安全加固、性能调优和高可用配置建议。

生产环境部署

本文档提供 OpenVort 在生产环境中的安全加固、性能调优和高可用配置建议。适用于已完成基础部署、准备正式上线的团队。

安全加固

修改默认密码

首次部署后必须立即修改以下默认凭据:

  • Web 管理面板登录密码
  • PostgreSQL 数据库密码
  • .env 中的 SECRET_KEY

HTTPS 配置

通过 Nginx 反向代理启用 HTTPS(完整配置参见 Nginx 反向代理):

server {
    listen 443 ssl;
    server_name ai.yourcompany.com;

    ssl_certificate /etc/ssl/certs/your-cert.pem;
    ssl_certificate_key /etc/ssl/private/your-key.pem;

    client_max_body_size 50m;

    location / {
        proxy_pass http://127.0.0.1:8090;
        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 —— 必须单独配置,否则实时通知、在线状态等功能无法工作
    location /api/ws {
        proxy_pass http://127.0.0.1:8090;
        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_read_timeout 86400;
    }

    # SSE(AI 对话流式输出)
    location /api/chat/stream/ {
        proxy_pass http://127.0.0.1:8090;
        proxy_buffering off;
        proxy_cache off;
        proxy_read_timeout 600;
    }
}

server {
    listen 80;
    server_name ai.yourcompany.com;
    return 301 https://$host$request_uri;
}

防火墙规则

仅开放必要端口:

端口 用途 建议
443 HTTPS 对外开放
80 HTTP 重定向 对外开放,301 到 HTTPS
8090 OpenVort 服务 仅本机访问
5432 PostgreSQL 仅本机访问

Docker 网络隔离

使用自定义桥接网络,隔离 AI 员工容器:

docker network create --driver bridge openvort-net

DM 配对安全

生产环境务必启用 pairing 或 allowlist 策略,禁止使用 open 模式。详见 DM 配对安全。

性能调优

LLM 选择

推荐使用支持 Prompt Caching 的模型(如 Claude Sonnet 4),可显著降低重复上下文的 Token 消耗和响应延迟。

上下文控制

OpenVort 默认在对话上下文达到 70,000 tokens 时自动压缩(compact),保留关键信息并释放上下文窗口。可在 AI 员工配置中调整此阈值。

数据库优化

  • 定期执行 VACUUM ANALYZE 清理 PostgreSQL 死元组
  • 为高频查询字段添加索引
  • 监控慢查询日志,优化超过 1 秒的查询

高可用配置

数据库高可用

生产环境建议使用 PostgreSQL 主从复制或云数据库服务(如阿里云 RDS),确保数据安全。

自动重启

使用 systemd 配置服务自动重启:

[Unit]
Description=OpenVort Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/openvort serve
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

健康检查

配置定期健康检查,及时发现异常:

curl -f http://localhost:8090/api/health || alert "OpenVort is down"

监控项目

监控项 检查方式 告警阈值
服务存活 HTTP 健康检查 连续 3 次失败
LLM 可用性 API 调用测试 连续 2 次超时
数据库连接 连接池状态 可用连接 < 5
磁盘空间 df -h 使用率 > 85%
容器状态 docker ps 非 running 状态

上线前检查清单

  • 已修改所有默认密码和密钥
  • 已配置 HTTPS 并验证证书有效
  • 已配置防火墙规则
  • 已启用 DM 配对或白名单策略
  • 已配置数据库备份(参见 备份与恢复)
  • 已配置服务自动重启
  • 已配置监控告警
  • 已测试 LLM 连通性和 Failover
  • 已清理测试数据