如何在自托管的映射器服务器中启用CORS ?



我想配置一台运行maptiler-server的服务器机器的Access-Control-Allow-Origin但找不到任何文档如何做到这一点。我还想知道是否有任何方法提供由另一个web服务器生成的访问令牌,以实现某种访问控制。我不希望所有人都能访问地图服务器。我想将其限制为特定web应用程序的用户。

我在maptiler的页面上找到了解决方案。基本上,我必须安装一个反向代理,它确实重定向到映射器服务器。他们页面上的示例使用Nginx作为反向代理服务器。为了配置它以便在每个响应上添加Access-Control-Allow-Origin标头,我必须用另外两行扩展示例。所以我的location块在配置文件中看起来像这样:

location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_pass http://127.0.0.1:3650;
proxy_hide_header 'Access-Control-Allow-Origin';
add_header 'Access-Control-Allow-Origin' '*' always;
}

默认配置位于此处/etc/nginx/sites-available/或此处/etc/nginx/conf.d/

最新更新