kb.conf 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # HTTP 重定向到 HTTPS
  2. server {
  3. listen 80;
  4. server_name localhost;
  5. return 301 https://$server_name$request_uri;
  6. }
  7. # HTTPS 服务器
  8. server {
  9. listen 443 ssl http2;
  10. server_name localhost;
  11. # SSL 配置
  12. ssl_certificate /etc/nginx/conf.d/ssl/cert.pem;
  13. ssl_certificate_key /etc/nginx/conf.d/ssl/key.pem;
  14. ssl_protocols TLSv1.2 TLSv1.3;
  15. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;
  16. ssl_prefer_server_ciphers off;
  17. # 安全头
  18. add_header X-Frame-Options DENY;
  19. add_header X-Content-Type-Options nosniff;
  20. add_header X-XSS-Protection "1; mode=block";
  21. add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
  22. # 前端静态文件
  23. location / {
  24. root /usr/share/nginx/html;
  25. index index.html;
  26. try_files $uri $uri/ /index.html;
  27. # 静态资源缓存
  28. location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
  29. expires 1y;
  30. add_header Cache-Control "public, immutable";
  31. }
  32. }
  33. # API 代理到后端
  34. location /api/ {
  35. proxy_pass http://server:3001;
  36. proxy_set_header Host $host;
  37. proxy_set_header X-Real-IP $remote_addr;
  38. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  39. proxy_set_header X-Forwarded-Proto $scheme;
  40. client_max_body_size 100M;
  41. # 大模型超时配置
  42. proxy_connect_timeout 300s;
  43. proxy_send_timeout 300s;
  44. proxy_read_timeout 300s;
  45. }
  46. # 文件上传代理
  47. location /uploads/ {
  48. proxy_pass http://server:3001;
  49. proxy_set_header Host $host;
  50. proxy_set_header X-Real-IP $remote_addr;
  51. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  52. proxy_set_header X-Forwarded-Proto $scheme;
  53. client_max_body_size 100M;
  54. # 上传超时配置
  55. proxy_connect_timeout 60s;
  56. proxy_send_timeout 300s;
  57. proxy_read_timeout 300s;
  58. }
  59. }