blob: f41b74afa950371c32cc9fcf01a38f0fec3895f9 [file] [log] [blame]
liangjiabaoc79b5122025-06-05 18:53:52 +08001server {
Jiarenxiang24d681b2025-06-08 19:27:05 +08002 listen 80;
3 server_name _;
4
5 # 开启Gzip压缩(可选但推荐)
6 gzip on;
7 gzip_types text/plain application/javascript application/x-javascript text/css;
8
9 # 静态资源缓存优化
10 location ~* \.(js|css|jpg|jpeg|png|gif|ico|svg|woff2)$ {
11 root /usr/share/nginx/html;
12 expires 1y;
13 add_header Cache-Control "public, no-transform";
14 try_files $uri =404;
15 }
liangjiabao33020f22025-06-05 19:10:54 +080016
Jiarenxiang24d681b2025-06-08 19:27:05 +080017 # 前端SPA路由处理
liangjiabaoc79b5122025-06-05 18:53:52 +080018 location / {
19 root /usr/share/nginx/html;
20 index index.html;
Jiarenxiang36728482025-06-07 21:51:26 +080021 try_files $uri $uri/ /index.html;
liangjiabaoc79b5122025-06-05 18:53:52 +080022 }
23
Jiarenxiang24d681b2025-06-08 19:27:05 +080024 # API代理
liangjiabaoc79b5122025-06-05 18:53:52 +080025 location /api/ {
Jiarenxiang24d681b2025-06-08 19:27:05 +080026 # Docker容器服务名解析
27 resolver 127.0.0.11 valid=30s; # Docker内置DNS
28
29 proxy_pass http://thunderhub-backend:5004$request_uri;
liangjiabaoc79b5122025-06-05 18:53:52 +080030 proxy_set_header Host $host;
31 proxy_set_header X-Real-IP $remote_addr;
32 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
33 proxy_set_header X-Forwarded-Proto $scheme;
Jiarenxiang24d681b2025-06-08 19:27:05 +080034
35 # 超时设置(按需调整)
36 proxy_connect_timeout 30s;
37 proxy_read_timeout 90s;
38
39 # WebSocket支持(如果后端需要)
40 proxy_http_version 1.1;
41 proxy_set_header Upgrade $http_upgrade;
42 proxy_set_header Connection "upgrade";
43 }
44
45 # 禁止访问隐藏文件
46 location ~ /\. {
47 deny all;
48 return 404;
liangjiabaoc79b5122025-06-05 18:53:52 +080049 }
50}