首页 / 浏览问题 / WebGIS / 问题详情
超图FAQ:使用Nginx代理iServer三维服务后,通过代理地址访问,场景可以加载,但三维瓦片请求失败,提示瓦片不存在。
64,468EXP 2026年02月09日
使用Nginx代理iServer三维服务后,通过代理地址访问,场景可以加载,但三维瓦片请求失败,提示瓦片不存在。

1个回答

【问题原因】前端将三维瓦片请求中“+”号转义为%2B,Nginx接收到转义后的URL后,将其解析为原始“+”号再请求iServer,导致请求异常。 【解决办法】修改Nginx代理配置,强制Nginx使用原始编码进行请求转发。参考nginx配置: #user  nobody; worker_processes 1; #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info; #pid        logs/nginx.pid; events { worker_connections 1024; } http { #include mime.types; #default_type application/octet-stream; #sendfile on; #keepalive_timeout 65; # 代理调试专用格式(关键) log_format proxy_debug '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' 'request_time=$request_time ' 'upstream_addr=$upstream_addr ' 'upstream_status=$upstream_status ' 'upstream_response_time=$upstream_response_time ' 'upstream_connect_time=$upstream_connect_time ' 'upstream_header_time=$upstream_header_time ' 'uri="$uri" ' 'request_uri="$request_uri" ' 'args="$args"'; # 关键:使用 map 提取路径,避免 decode map $request_uri $backend_uri { ~^/jnmap/iserver(/.*)$  $1; default                 $request_uri; } server { access_log logs/access.log proxy_debug buffer=32k flush=5s; listen 8081; server_name localhost,127.0.0.1,172.16.15.64; location /jnmap/iserver/ {      proxy_pass http://172.16.15.64:8090/iserver$backend_uri; proxy_set_header ProxyHost $host:8081;  proxy_set_header Accept-Encoding "";  # 关键:关闭 gzip sub_filter_once off; sub_filter_types *; sub_filter 'http://172.16.15.64:8081/iserver' 'http://172.16.15.64:8081/jnmap/iserver'; # sub_filter 'http://172.16.15.64:8090/iserver' 'http://172.16.15.64:8081/jnmap/iserver'; proxy_redirect off; proxy_buffering off; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }
64,468EXP 2026年02月09日
热门文章
关注我们
...