早上好!
我有一个用于ELK堆栈的docker容器和一个用于NGINX瓦片地图服务器的docker容器。我的问题是,Firefox和Chrome总是抛出“ Access-Control-Allow-Origin”例外,因为CORS可能尚未激活。
在我的NGINX服务器中,我激活了几个选项,以THIS文件的方式支持跨域请求。如果我从另一个域(例如 curl -H“ User-Agent:Mozilla” -H“ Origin:http://example.com”)发送了curl请求,-i my-ip-goes-here:port 我得到这样的答复:
Access-Control-Allow-Origin: *
Access-Control-Allow-Crednetials: true
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control-Content-Type,Range
Access-Control-Expose-Headers: Content-Length,Content-Range
我对弹性堆栈所做的相同设置,在elasticsearch配置文件中进行设置。当我发送一个curl请求时,我也收到了如上所述的响应。
如果我现在打开Chrome或Firefox,则会找到但未加载地图图块服务器的图片。因此,我收到错误消息,指出跨域请求被阻止。在Firefox中,我禁用了多个选项,例如 security.fileuri.strict_origin_policy ,但均未成功。我已经从标志-user-data-dir = --disable-web-security --disable-site-isolation-trials 开始的Chrome浏览器。既然我这样做了,它就可以了,但是我认为这不是正确的方法。
有人可以告诉我,我在这里想念什么吗? 其实我不知道我做错了什么或真正的问题是什么,因为它可以完美地在IE中运行。
最好的问候, 天空