安装https证书后,geoserver,NGINX上的POST和PUT请求块

aurhwmvo  于 2023-08-03  发布在  Nginx
关注(0)|答案(2)|浏览(167)

我最近在NGINX using cartbot上的Web应用程序上安装了SSL认证。我在nginx.conf文件中添加了GeoServer的反向代理,如下所示,

location /geoserver {
            proxy_pass http://127.0.0.1:8080/geoserver;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect off;
         }

字符串
我还通过编辑web.xml文件来启用CORS,如下所示:

<context-param>
    <param-name>GEOSERVER_CSRF_WHITELIST</param-name>
    <param-value>pgeo.ait.ac.th</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>

 <filter-mapping>
        <filter-name>cross-origin</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


在安装SSL证书之前,一切都很好。但是在安装SSL证书之后,我只能使用GeoServer REST curl执行GET和DELETE请求,而无法执行PUT和POST请求。我很困惑,无论是从GeoServer或Nginx的错误。请帮助我找到解决办法。

**PS:**虽然GeoServer管理界面工作正常。我可以从那里做任何事情。

我发现了以下问题,但没有帮助找到确切的解决方案,

  1. GeoServer behind Nginx: web admin crashes
  2. Use Nginx with Tomcat to put GeoServer under HTTPS
fnvucqvd

fnvucqvd1#

也许你应该在NGINX上尝试这种配置

error_page 403 /e403.html;

location = / {
  root   index.jsp;
  allow all;
}

字符串

db2dz4w8

db2dz4w82#

我也有同样的问题。我的地理服务器被挂接到一个子域,我设法解决了这个问题,列出我的域和子域(逗号分隔)的标记GEOSERVER_CSRF_WHITELIST

相关问题