blob: 5319793c6bae510c1c6664d67b1655ca603f900f [file] [log] [blame]
liangjiabaoc79b5122025-06-05 18:53:52 +08001server {
Jiarenxiang24d681b2025-06-08 19:27:05 +08002 listen 80;
Jiarenxiang10fb6722025-06-08 21:25:05 +08003 server_name team4.10813352.xyz;
Jiarenxiang24d681b2025-06-08 19:27:05 +08004
Jiarenxiang10fb6722025-06-08 21:25:05 +08005 # 开启Gzip压缩
Jiarenxiang24d681b2025-06-08 19:27:05 +08006 gzip on;
Jiarenxiang10fb6722025-06-08 21:25:05 +08007 gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
8 gzip_min_length 1000;
9 gzip_proxied any;
10 gzip_comp_level 6;
Jiarenxiang24d681b2025-06-08 19:27:05 +080011
12 # 静态资源缓存优化
Jiarenxiang10fb6722025-06-08 21:25:05 +080013 location ~* \.(js|css|jpg|jpeg|png|gif|ico|svg|woff2|ttf|eot)$ {
Jiarenxiang24d681b2025-06-08 19:27:05 +080014 root /usr/share/nginx/html;
15 expires 1y;
Jiarenxiang10fb6722025-06-08 21:25:05 +080016 add_header Cache-Control "public, max-age=31536000, immutable";
Jiarenxiang24d681b2025-06-08 19:27:05 +080017 try_files $uri =404;
Jiarenxiang10fb6722025-06-08 21:25:05 +080018 access_log off;
Jiarenxiang24d681b2025-06-08 19:27:05 +080019 }
liangjiabao33020f22025-06-05 19:10:54 +080020
Jiarenxiang10fb6722025-06-08 21:25:05 +080021 # API代理 - 指向后端服务
liangjiabaoc79b5122025-06-05 18:53:52 +080022 location /api/ {
Jiarenxiang10fb6722025-06-08 21:25:05 +080023 proxy_pass http://127.0.0.1:5004/; # 使用宿主机端口代理
liangjiabaoc79b5122025-06-05 18:53:52 +080024 proxy_set_header Host $host;
25 proxy_set_header X-Real-IP $remote_addr;
26 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
27 proxy_set_header X-Forwarded-Proto $scheme;
Jiarenxiang24d681b2025-06-08 19:27:05 +080028
Jiarenxiang10fb6722025-06-08 21:25:05 +080029 # 超时设置
Jiarenxiang24d681b2025-06-08 19:27:05 +080030 proxy_connect_timeout 30s;
Jiarenxiang10fb6722025-06-08 21:25:05 +080031 proxy_read_timeout 300s;
32 proxy_send_timeout 300s;
Jiarenxiang24d681b2025-06-08 19:27:05 +080033
Jiarenxiang10fb6722025-06-08 21:25:05 +080034 # WebSocket支持
Jiarenxiang24d681b2025-06-08 19:27:05 +080035 proxy_http_version 1.1;
36 proxy_set_header Upgrade $http_upgrade;
37 proxy_set_header Connection "upgrade";
38 }
39
Jiarenxiang10fb6722025-06-08 21:25:05 +080040 # 前端SPA路由处理 - 指向前端服务
41 location / {
42 proxy_pass http://127.0.0.1:3004; # 前端服务端口
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
48 # SPA路由重写
49 proxy_intercept_errors on;
50 error_page 404 = /index.html;
51 }
52
Jiarenxiang24d681b2025-06-08 19:27:05 +080053 # 禁止访问隐藏文件
54 location ~ /\. {
55 deny all;
56 return 404;
liangjiabaoc79b5122025-06-05 18:53:52 +080057 }
Jiarenxiang10fb6722025-06-08 21:25:05 +080058
59 # 错误页面处理
60 error_page 500 502 503 504 /50x.html;
61 location = /50x.html {
62 root /usr/share/nginx/html;
63 }
liangjiabaoc79b5122025-06-05 18:53:52 +080064}