我的环境是npm安装,如果我在根目录中调用 npm start ,它将我的js文件与webpack捆绑在一起,并在localhost:3000上提供内容。
另一方面,我将GeoServer作为服务安装,到目前为止一切正常。它正在localhost:8080上运行。
我正在实施OpenLayers项目,并且我们将SLD标准用于样式功能。到目前为止,我只是在本地计算机上拥有这些SLD文件。我发现了GeoServer的REST API,您可以在其中接收注册的SLD样式。现在,我们决定将GeoServer用作全局SLD存储,以便每个客户端都可以快速获取样式信息,而无需本地文件。
在GeoServer中注册样式非常简单。但是,如果现在我想通过GeoServer(端口8080)的REST API在OpenLayers项目(端口3000)中获取样式,则会出现CORS问题。
前段时间我遇到了这些问题,只是在GeoServer的web.xml中启用了CORS。我真的以为REST API现在也正在使用CORS,但看起来好像不是。
我无法从REST API提取SLD文件,因为CORS阻止了它。但是所有其他操作(例如将检索的要素添加到我的图层或从GeoServer获取图层)都可以正常工作。
我只是想错了吗,还是说REST API阻止了CORS,而“正常”操作却不起作用是什么问题呢?
答案 0 :(得分:1)
我找到了解决方法。
您可以在rest.properties文件中设置访问规则,在该文件中,您可以为每种请求模式本身(GET,POST,..)本身配置允许的域/源。