SSL证书配置.md 2.3 KB

SSL证书配置指南

环境说明

根据您的Nginx配置:

  • 生产域名: www.hikelly.chat
  • 服务器IP: 101.201.60.170
  • 后端端口: 8766(Nginx代理目标)
  • WebSocket路径: /ws

快速配置

开发环境

1. 生成自签名证书

cd ssl
openssl req -x509 -newkey rsa:4096 -nodes \
  -out cert.pem -keyout key.pem -days 365 \
  -config openssl.cnf -extensions v3_req

2. 直接启动(自动使用本地证书)

# 后端
cd backend
python main.py

# 前端
cd frontend
npm run dev

生产环境

方式一:直接配置证书(不推荐)

后端配置 (backend/.env):

SSL_KEYFILE=/etc/nginx/cert/www.hikelly.chat.key
SSL_CERTFILE=/etc/nginx/cert/www.hikelly.chat.pem

前端配置 (frontend/.env):

VITE_SSL_KEYFILE=/etc/nginx/cert/www.hikelly.chat.key
VITE_SSL_CERTFILE=/etc/nginx/cert/www.hikelly.chat.pem

方式二:Nginx反向代理(推荐)

前后端都不配置SSL,证书统一由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 / {
        root /path/to/Tolan/frontend/dist;
        index index.html;
        try_files $uri $uri/ /index.html;
    }
    
    # 后端API
    location /api/ {
        proxy_pass http://127.0.0.1:8000;
    }
    
    # WebSocket
    location /ws {
        proxy_pass http://127.0.0.1:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

证书权限检查

# 检查证书文件
ls -l /etc/nginx/cert/www.hikelly.chat.*

# 证书应该是 644
# 私钥应该是 600 或 400
sudo chmod 644 /etc/nginx/cert/www.hikelly.chat.pem
sudo chmod 600 /etc/nginx/cert/www.hikelly.chat.key

访问地址

详细文档

  • 后端配置: backend/SSL_CONFIG.md
  • 前端配置: frontend/SSL_CONFIG.md
  • 本地证书: ssl/README.md