blob: 5e1dcde3b354c709fd0ae97547786a22f16d8294 [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代理 - 指向后端服务
Jiarenxiange449fa12025-06-08 21:50:19 +080022 location ^~/api/ {
Jiarenxiang5da1c7e2025-06-08 22:06:59 +080023 rewrite ^/api(/.*)$ $1 break;
24
Jiarenxiang56cbf662025-06-09 21:46:47 +080025 proxy_pass http://127.0.0.1:5004;
liangjiabaoc79b5122025-06-05 18:53:52 +080026 proxy_set_header Host $host;
27 proxy_set_header X-Real-IP $remote_addr;
28 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
29 proxy_set_header X-Forwarded-Proto $scheme;
Jiarenxiang24d681b2025-06-08 19:27:05 +080030
Jiarenxiang10fb6722025-06-08 21:25:05 +080031 # 超时设置
Jiarenxiang24d681b2025-06-08 19:27:05 +080032 proxy_connect_timeout 30s;
Jiarenxiang10fb6722025-06-08 21:25:05 +080033 proxy_read_timeout 300s;
34 proxy_send_timeout 300s;
Jiarenxiang24d681b2025-06-08 19:27:05 +080035
Jiarenxiang10fb6722025-06-08 21:25:05 +080036 # WebSocket支持
Jiarenxiang24d681b2025-06-08 19:27:05 +080037 proxy_http_version 1.1;
38 proxy_set_header Upgrade $http_upgrade;
39 proxy_set_header Connection "upgrade";
40 }
41
Jiarenxiang10fb6722025-06-08 21:25:05 +080042 # 前端SPA路由处理 - 指向前端服务
43 location / {
44 proxy_pass http://127.0.0.1:3004; # 前端服务端口
45 proxy_set_header Host $host;
46 proxy_set_header X-Real-IP $remote_addr;
47 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
48 proxy_set_header X-Forwarded-Proto $scheme;
49
50 # SPA路由重写
51 proxy_intercept_errors on;
52 error_page 404 = /index.html;
53 }
54
Jiarenxiang24d681b2025-06-08 19:27:05 +080055 # 禁止访问隐藏文件
56 location ~ /\. {
57 deny all;
58 return 404;
liangjiabaoc79b5122025-06-05 18:53:52 +080059 }
Jiarenxiang10fb6722025-06-08 21:25:05 +080060
61 # 错误页面处理
62 error_page 500 502 503 504 /50x.html;
63 location = /50x.html {
64 root /usr/share/nginx/html;
65 }
liangjiabaoc79b5122025-06-05 18:53:52 +080066}