在Tomcat中添加响应头

在Tomcat中添加响应头,tomcat,Tomcat,我有一个GeoServer应用程序,运行在Tomcat之上。我想要的是设置一个额外的响应头-访问控制允许来源:*。我之所以需要这个功能,是因为现在我无法在地图应用程序中实现on功能,因为在浏览器中 操作不安全 信息 根据线程,我需要设置这个标题:“访问控制允许源代码:”,根据Tomcat中的线程,我可以通过CATALINA_HOME/conf/web.xml进行设置: <filter> <filter-name>CorsFilter</filter-name&

我有一个GeoServer应用程序,运行在Tomcat之上。我想要的是设置一个额外的响应头-访问控制允许来源:*。我之所以需要这个功能,是因为现在我无法在地图应用程序中实现on功能,因为在浏览器中

操作不安全

信息

根据线程,我需要设置这个标题:
“访问控制允许源代码:”
,根据Tomcat中的线程,我可以通过CATALINA_HOME/conf/web.xml进行设置:

<filter>
   <filter-name>CorsFilter</filter-name>
   <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
 </filter>
 <filter-mapping>
   <filter-name>CorsFilter</filter-name>
   <url-pattern>/*</url-pattern>
 </filter-mapping>

我将此过滤器添加到应用程序的主web.xml和web.xml中,但没有效果。因此,以前解决这个问题的所有解决方案似乎都过时了。

我刚刚遇到了同样的问题,我的解决方案是添加您在geoserver web.xml中提到的代码

这足以解决问题。不需要在Tomcat中更改任何内容

所以,只要做:

对于带有Tomcat的GeoServer,将以下内容添加到
/var/lib/tomcat7/webapps/GeoServer/WEB-INF/WEB.xml

<filter>
  <filter-name>CorsFilter</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,HEAD,OPTIONS,PUT</param-value>
</init-param>   
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

克斯菲尔特
org.apache.catalina.filters.CorsFilter
科尔斯
*
cors.methods
获取、发布、头部、选项、放置
克斯菲尔特
/*

最后,只需重新启动tomcat(
sudo systemctl restart tomcat.service

看看这个,我将您的第一个过滤器定义放入我的tomcat 8.0.24的根应用程序的
web.xml
,访问控制-标题出现在响应中。你是怎么测试的?我建议使用-将tomcat Web应用程序的url放入远程服务器字段,然后按“发送请求”。您应该看到一个
访问控制允许原点:http://www.test-cors.org
在响应中。
<filter>
  <filter-name>CorsFilter</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,HEAD,OPTIONS,PUT</param-value>
</init-param>   
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>