default.conf 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # HTTP:宿主机通常映射 9100 -> 80
  2. server {
  3. listen 80;
  4. server_name _;
  5. root /usr/share/nginx/html;
  6. index index.html;
  7. gzip on;
  8. gzip_types text/plain text/css application/json application/javascript application/xml image/svg+xml;
  9. location / {
  10. try_files $uri $uri/ /index.html;
  11. }
  12. # 与 Web/.env.production 中 VITE_API_URL=/prod-api 一致
  13. location /prod-api/ {
  14. proxy_pass http://api:5005/;
  15. proxy_http_version 1.1;
  16. proxy_set_header Host $host;
  17. proxy_set_header X-Real-IP $remote_addr;
  18. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  19. proxy_set_header X-Forwarded-Proto $scheme;
  20. proxy_connect_timeout 60s;
  21. proxy_send_timeout 120s;
  22. proxy_read_timeout 120s;
  23. client_max_body_size 100m;
  24. }
  25. }
  26. # HTTPS:宿主机通常映射 9103 -> 443(镜像内自签证书,仅供联调;生产请挂载正式证书)
  27. server {
  28. listen 443 ssl;
  29. server_name _;
  30. root /usr/share/nginx/html;
  31. index index.html;
  32. ssl_certificate /etc/nginx/ssl/default.crt;
  33. ssl_certificate_key /etc/nginx/ssl/default.key;
  34. ssl_protocols TLSv1.2 TLSv1.3;
  35. gzip on;
  36. gzip_types text/plain text/css application/json application/javascript application/xml image/svg+xml;
  37. location / {
  38. try_files $uri $uri/ /index.html;
  39. }
  40. location /prod-api/ {
  41. proxy_pass http://api:5005/;
  42. proxy_http_version 1.1;
  43. proxy_set_header Host $host;
  44. proxy_set_header X-Real-IP $remote_addr;
  45. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  46. proxy_set_header X-Forwarded-Proto $scheme;
  47. proxy_connect_timeout 60s;
  48. proxy_send_timeout 120s;
  49. proxy_read_timeout 120s;
  50. client_max_body_size 100m;
  51. }
  52. }