在 backend/ 目录创建 .env 文件(不会提交到git):
# 使用生产证书
SSL_KEYFILE=/etc/nginx/cert/www.hikelly.chat.key
SSL_CERTFILE=/etc/nginx/cert/www.hikelly.chat.pem
# 其他必需配置
DASHSCOPE_API_KEY=your_api_key
DOUBAO_API_KEY=your_api_key
DOUBAO_APP_ID=your_app_id
# 留空或不配置,使用本地 ssl/ 目录的自签名证书
SSL_KEYFILE=
SSL_CERTFILE=
# 或者完全不设置这两个变量
生产环境确保后端进程有读取证书的权限:
# 检查证书文件权限
ls -l /etc/nginx/cert/www.hikelly.chat.*
# 如需调整(谨慎操作)
sudo chmod 644 /etc/nginx/cert/www.hikelly.chat.pem
sudo chmod 600 /etc/nginx/cert/www.hikelly.chat.key
cd backend
python main.py
启动时会显示使用的证书路径。
SSL_KEYFILE 和 SSL_CERTFILE(生产)ssl/key.pem 和 ssl/cert.pem(开发)生产环境建议使用Nginx反向代理:
server {
listen 443 ssl;
server_name www.hikelly.chat;
ssl_certificate /etc/nginx/cert/www.hikelly.chat.pem;
ssl_certificate_key /etc/nginx/cert/www.hikelly.chat.key;
location / {
proxy_pass http://127.0.0.1:8000;
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_set_header X-Forwarded-Proto $scheme;
}
}
使用Nginx时,后端可以不配置SSL,直接HTTP运行。