在Tomcat中启用CORS
场景: 前端:居住在NGINX的Angular应用程序 后端:生活在Tomcat 8.5的Java应用程序 前端需要调用后端Rest API。 据我所知,我需要让CORS发生这种情况: 所以我浏览了Tomcat文档,并将corsfilter添加到了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>http://dev.retex.global</param-value> </init-param> <init-param> <param-name>cors.allowed.methods</param-name> <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value> </init-param> <init-param> <param-name>cors.allowed.headers</param-name> <param-value>Content-Type,X-Requested-With,Accept,Accept-Encoding,Accept-Language,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Connection,Host</param-value> </init-param> <init-param> <param-name>cors.exposed.headers</param-name> <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value> </init-param> </filter> <filter-mapping> <filter-name>CorsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 然后我重新启动tomcat服务 此设置不按预期方式工作: $ curl -v \ > -H 'Accept: */*' \ > -H 'Accept-Encoding:gzip, deflate' \ > -H 'Accept-Language:en-US,en;q=0.9,es;q=0.8' \ > -H 'Access-Control-Request-Headers:authorization,content-type' […]