apache - 请提供地理服务器建议 - HTTP 状态 400 - 错误请求
问题描述
我真的希望有人可以帮助我指出正确的方向。
我在 Ubuntu 18.04 服务器上的 Tomcat 9 中部署了 Geoserver。
在我将 SSL 添加到 Apache 虚拟主机之前,一切都运行良好。我登录 Geoserver 没有问题,但是当我尝试更改任何内容(例如保存新设置或尝试向 Geoserver 添加数据)时,我收到此错误:
HTTP 状态 400 - 错误的请求类型状态报告消息来源与请求不对应 描述 由于被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧或欺骗性请求路由)。Apache Tomcat/9.0.43
这只是在我添加 SSL 之后才发生的,如果我在 Apache 中删除 SSL 虚拟主机并将站点作为 HTTP 运行,我不会收到错误消息。
谁能指出我正确的方向?
谢谢
解决方案
我使用此处的说明解决了这个问题:https ://dev.to/iamtekson/using-nginx-to-put-geoserver-https-4204
在 GeoServer 管理站点的 Settings > Global > Proxy Base URL 下添加了我的域名:https:www.mydomain.com
选中“使用代理 URL 的标头”
在此处的 web.xml 中添加了以下代码:/webapps/geoserver/WEB-INF/web.xml
<context-param> <param-name>GEOSERVER_CSRF_WHITELIST</param-name> <param-value>example.org</param-value> </context-param> <filter> <filter-name>cross-origin</filter-name> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> <init-param> <param-name>cors.allowed.origins</param-name> <param-value>*</param-value> </init-param> <init-param> <param-name>cors.allowed.methods</param-name> <param-value>GET,POST,PUT,DELETE,HEAD,OPTIONS</param-value> </init-param> <init-param> <param-name>cors.allowed.headers</param-name> <param-value>*</param-value> </init-param> </filter>
推荐阅读
- javascript - ngFor 项目 Angular 8 的动态 routerLink 值
- python - 为什么我的 pip 安装需要 python -m install --user?
- python - Python 3 OOP——“super().__init__()”到底去哪儿了?
- apache-kafka - 如何使用 writeStream 将 Spark 流传递给 kafka 主题
- android - 使用 WorkManager 和 Notification Service 在服务器上上传媒体
- java - 在 Spring 中向客户端发送字段元数据
- c - C - 将非常大文件中的行插入数组
- python - 如何减少 sqlalchemy 用于连接数据库和选择数据的时间
- rest - 使用 keycloak rest admin apis 获取给定部分 url 路径或基于正则表达式模式的资源
- java - com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法构造`javax.xml.bind.JAXBElement`的实例