Leaflet,OSM:安全磁贴服务器

时间:2018-05-25 17:11:24

标签: java tomcat leaflet openstreetmap

我有自己的OSM服务器,然后是我的webapp的Tomcat后端。

我使用传单加载像这样的图块:http://MAP_SERVER_IP/tiles/{z}/{x}/{y}.png

但我希望请求类似于:http://APP_SERVER/webapp/validation_servlet?z,x,y

这种方式' validation_servlet'可以验证请求,然后将响应作为真实网址的内容:http://MAP_SERVER_IP/tiles/{z}/{x}/{y}.png

我尝试使用重定向,但似乎传单不遵循重定向。

此代码是validation_servlet的响应:

<html><head><meta http-equiv="refresh" content="0; url=http://MAP_SERVER_IP/tiles/'+trim(&x)+'/'+trim(&y)+'/'+trim(&z)+'.png" /></head></html>

其中&amp; x,&amp; y和&amp; z是从传单请求接收的参数。该URL在浏览器中正常工作,并遵循重定向。但是从传单来看并没有。

此外,我不希望APP_SERVER下载磁贴然后提供它。

目标是确保&#39;访问我的磁贴服务器。所以永远不应该看到真正的磁贴网址。

任何想法???

提前致谢!

1 个答案:

答案 0 :(得分:1)

只需定义您的L.TileLayer赞:

var tiles = L.tileLayer('http://APP_SERVER/webapp/validation_servlet?{z},{x},{y}');
tiles.addTo(map);

你也指出:

  

目标是确保&#39;访问我的磁贴服务器。所以永远不应该看到真正的磁贴网址。

     

[...]

     

此外,我不希望APP_SERVER下载磁贴然后提供它。

请注意,这两个目标无法实现。您可以代理磁贴(从APP_SERVER获取并隐藏其来源),也可以重定向到磁贴(保存APP_SERVER一些带宽和资源,但将最终磁贴URL发送到浏览器)。