| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- # HTTP 重定向到 HTTPS
- server {
- listen 80;
- server_name localhost;
- return 301 https://$server_name$request_uri;
- }
- # HTTPS 服务器
- server {
- listen 443 ssl http2;
- server_name localhost;
- # SSL 配置
- ssl_certificate /etc/nginx/conf.d/ssl/cert.pem;
- ssl_certificate_key /etc/nginx/conf.d/ssl/key.pem;
- ssl_protocols TLSv1.2 TLSv1.3;
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;
- ssl_prefer_server_ciphers off;
- # 安全头
- add_header X-Frame-Options DENY;
- add_header X-Content-Type-Options nosniff;
- add_header X-XSS-Protection "1; mode=block";
- add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
- # 前端静态文件
- location / {
- root /usr/share/nginx/html;
- index index.html;
- try_files $uri $uri/ /index.html;
- # 静态资源缓存
- location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
- expires 1y;
- add_header Cache-Control "public, immutable";
- }
- }
- # API 代理到后端
- location /api/ {
- proxy_pass http://server:3001;
- 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;
- client_max_body_size 100M;
- # 大模型超时配置
- proxy_connect_timeout 300s;
- proxy_send_timeout 300s;
- proxy_read_timeout 300s;
- }
- # 文件上传代理
- location /uploads/ {
- proxy_pass http://server:3001;
- 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;
- client_max_body_size 100M;
- # 上传超时配置
- proxy_connect_timeout 60s;
- proxy_send_timeout 300s;
- proxy_read_timeout 300s;
- }
- }
|