GeoSever REST API-CORS阻止

时间:2018-08-22 08:10:23

标签: cors geoserver

我的环境是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,而“正常”操作却不起作用是什么问题呢?

1 个答案:

答案 0 :(得分:1)

我找到了解决方法。

您可以在rest.properties文件中设置访问规则,在该文件中,您可以为每种请求模式本身(GET,POST,..)本身配置允许的域/源。