server { listen 7878; server_name _; root /app/frontend/dist; index index.html; # 静态内容优先走前端 location / { try_files $uri $uri/ /index.html @backend; add_header Cache-Control "no-cache, must-revalidate"; } # 后端 API 代理 location /api { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # 兜底转发到后端(短链跳转) location @backend { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # 静态资源缓存策略 location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg)$ { expires 1y; add_header Cache-Control "public, immutable"; } }