这里我在Tomcat 8实例中部署了一个应用程序。我已按照Tomcat 8 document添加CORS过滤器:
/apache-tomcat-8/conf/Catalina/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>
当我运行以下命令时:
curl -I "http://localhost:8181/MySuperApp/login/"
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Cache-Control: no-store, must-revalidate
Set-Cookie: JSESSIONID=C51BD2982C0EBB7DA73D40E7AE856B93; Path=/MySuperApp/; HttpOnly
Content-Type: text/html;charset=UTF-8
Content-Language: en-US
Content-Length: 883
Date: Tue, 27 Sep 2016 20:20:11 GMT
所以基本上,CORS根本没有生效......可能会遗漏什么,或者是否有任何地方我应该检查参数是否可以被覆盖?
答案 0 :(得分:1)
如果请求指定了Origin标头,CORS过滤器将仅发送回Access-Control- *标头。没有Origin,它不是CORS请求。