GeoServer REST API - CORS 阻塞

GeoSever REST API - CORS blocking

我的环境是 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 而 "normal" 操作没有做的问题是什么?

我找到了解决方案。

您可以在rest.properties文件中设置访问规则,其中您可以为每个请求模式(GET、POST、..)本身配置允许domains/sources。