问题描述
我想配置运行 maptiler-server 的服务器机器的 Access-Control-Allow-Origin 但找不到任何文档如何做到这一点。我还想知道是否有任何方法可以为 maptiler-serve 提供由另一个 Web 服务器生成的访问令牌以实现某种访问控制。我不希望每个人都可以访问地图服务器。我想将其限制为特定网络应用程序的用户。
解决方法
我在 maptiler 的 page 上找到了解决方案。基本上,我必须安装一个确实重定向到 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/