地理服务器仅允许 POST 在 wms 和 wfs 中请求

geoserver allow only POST request in wms and wfs

我在地理服务器中发布了一些 WFS 和 WMS 图层,并试图从我的应用程序进行访问。我想确保地理服务器仅允许 POST 请求并阻止其他请求,如 GET、PUT 等。我遵循 link https://docs.geoserver.org/stable/en/user/security/service.html 并更改 rest.properties 以仅包含 POST方法,但仍然允许 GET。有什么遗漏吗?

更改 REST API 只会阻止 REST API 的正常使用,这对 WMS 和 WFS 服务没有影响。

关闭 GET 访问将阻止绝大多数 WMS 客户端访问您的服务,因为对 getmap 端点的 GET 请求是获取 WMS 地图的标准方法。 WFS 客户端受到的影响较小,因为正常操作模式是 POST。当前 OGC 服务的 none 中使用了 PUT,因此关闭它不会有任何效果。

由于(几乎)GeoServer 的全部意义在于允许开放和可互操作的数据交换,因此无法为 OGC 服务(WMS、WFS 等)打开或关闭 HTTP 方法。

如果您试图通过默默无闻的方式实现某种安全性,那么这可能不会(长期)起作用,您应该在 getMapgetFeature 方法上设置适当的安全系统如你所愿。

如果您真的(真的)必须尝试像这样削弱服务,那么您可以使用 nginx 或 apache 作为受限前端并仅将 "right" 请求传递给 GeoServer。