java - 传单,OSM : secure tile server

标签 java tomcat leaflet openstreetmap

我有自己的 OSM 服务器,然后是我的网络应用程序的 Tomcat 后端。

我使用 leaflet 像这样加载图 block :http://MAP_SERVER_IP/tiles/{z}/{x}/{y}.png

但我希望发出类似这样的请求:http://APP_SERVER/webapp/validation_servlet?z,x,y

这样 'validation_servlet' 可以验证请求,然后使响应成为真实 url 的内容: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>

其中 &x、&y 和 &z 是从传单请求中收到的参数。该 URL 在浏览器中运行良好,并遵循重定向。但从传单来看,它没有。

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

目标是“保护”对我的磁贴服务器的访问。因此,不应看到真正的磁贴 URL。

有什么想法吗???

提前致谢!

最佳答案

简单地定义你的 L.TileLayer 就像:

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

您还指出:

The objective is to 'secure' access to my tile server. So the real tile URL should never be seen.

[...]

Also i do not want the APP_SERVER to download the tile to then serve it.

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

关于java - 传单,OSM : secure tile server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50534021/

相关文章:

java - 如何使用 Eclipse IDE 和 Tomcat 服务器在 Java 中实现带有 Web 应用程序的 EJB

javascript - 传单.js : Linking Activities to Map Markers

javascript - 具有 Angular 2 的传单性能

JavaMail 将邮件导出到磁盘上定义的文件夹

java - SQL 只返回年份,不返回日期或月份

java - opengl Canvas 不更新

java - Spring MVC 上传文件,然后提供下载链接

linux - 删除 Tomcat 8

typescript - 如何将 leaflet-routing-machine 包含到 angular 2 typescript webpack 应用程序中

java - 列表大小具有意想不到的值(value)