| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- # 若依前后端部署Nginx配置
- # 复制此内容到 C:\nginx\conf\nginx.conf 的 http 块中
- server {
- listen 80;
- server_name localhost;
- # 前端静态文件
- location / {
- root html; # 指向 C:\nginx\html(前端dist文件)
- index index.html index.htm;
- try_files $uri $uri/ /index.html;
- }
- # ========== 外部 API 反向代理 ==========
- # 客户浏览器只访问公司服务器一个域名,避免跨域 + 天地图 tk Referer 白名单 + 客户出口防火墙三重问题
- # 对应前端 vite.config.js 的 server.proxy 配置和 server_config.js 的 PROXY_* 常量
- # 注意:location 前缀必须与 server_config.js 中的 PROXY_SLT/PROXY_TIANDITU_TILE/PROXY_TIANDITU_API 完全一致
- # proxy_pass 末尾必须带 /,Nginx 才会去掉 location 前缀转发(如 /proxy/slt/Api/LastWind → /Api/LastWind)
- # 浙江水情台风 API(风场/降雨/云图/雷达)
- location /proxy/slt/ {
- proxy_pass https://typhoon.slt.zj.gov.cn/;
- proxy_set_header Host typhoon.slt.zj.gov.cn;
- 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;
- proxy_ssl_server_name on;
- proxy_connect_timeout 60s;
- proxy_send_timeout 60s;
- proxy_read_timeout 60s;
- }
- # 天地图地理编码 API
- location /proxy/tianditu-api/ {
- proxy_pass https://api.tianditu.gov.cn/;
- proxy_set_header Host api.tianditu.gov.cn;
- 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;
- proxy_ssl_server_name on;
- }
- # 天地图瓦片(img_c / cia_c)
- # Referer 头必填:天地图 WAF 会拦截无 Referer 的请求返回 418
- location /proxy/tianditu/ {
- proxy_pass https://t0.tianditu.gov.cn/;
- proxy_set_header Host t0.tianditu.gov.cn;
- proxy_set_header Referer "https://tianditu.gov.cn/";
- 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;
- proxy_ssl_server_name on;
- }
- # 后端API代理 - 关键配置
- location /prod-api/ {
- proxy_pass http://localhost:8080/prod-api/; # 代理到后端
- 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;
- # 超时设置
- proxy_connect_timeout 60s;
- proxy_send_timeout 60s;
- proxy_read_timeout 60s;
- }
- # 上传文件访问
- location /uploads/ {
- proxy_pass http://localhost:8080/uploads/; # 代理到后端
- autoindex on;
- }
- # profile文件访问(自定义服务GeoJSON等)
- location /profile/ {
- proxy_pass http://localhost:8080/prod-api/; # 代理到后端(带context-path)
- 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;
- }
- # 错误页面
- error_page 404 /index.html;
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- }
|