server { listen 80; listen [::]:80; server_name _; root /usr/share/nginx/html; index index.html; location = /healthz { default_type text/plain; return 200 "ok\n"; } # 前端统一请求 /api,保持原始路径转发给 Gateway。 location /api/ { client_max_body_size 12m; proxy_pass ${API_UPSTREAM}; proxy_http_version 1.1; proxy_set_header Host $proxy_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; } # 海外业务使用独立 Gateway;浏览器前缀只在此处改写一次为 /api。 location /overseas-api/ { client_max_body_size 12m; rewrite ^/overseas-api/(.*)$ /api/$1 break; proxy_pass ${OVERSEAS_API_UPSTREAM}; proxy_http_version 1.1; proxy_set_header Host $proxy_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; } # 支持 Vue Router history 路由直接刷新。 location / { try_files $uri $uri/ /index.html; } }