# SSL证书配置指南 ## 环境变量配置 在 `backend/` 目录创建 `.env` 文件(不会提交到git): ### 生产环境配置 ```bash # 使用生产证书 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 ``` ### 开发环境配置 ```bash # 留空或不配置,使用本地 ssl/ 目录的自签名证书 SSL_KEYFILE= SSL_CERTFILE= # 或者完全不设置这两个变量 ``` ## 证书文件权限 生产环境确保后端进程有读取证书的权限: ```bash # 检查证书文件权限 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 ``` ## 启动服务 ```bash cd backend python main.py ``` 启动时会显示使用的证书路径。 ## 优先级 1. 优先使用环境变量 `SSL_KEYFILE` 和 `SSL_CERTFILE`(生产) 2. 未配置则使用 `ssl/key.pem` 和 `ssl/cert.pem`(开发) 3. 证书不存在则以HTTP模式启动 ## Nginx配置(可选) 生产环境建议使用Nginx反向代理: ```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运行。