生产环境部署

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

生产环境部署

本文档提供 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 配对安全

生产环境务必启用 pairingallowlist 策略,禁止使用 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
  • 已清理测试数据