小编Sha*_*hou的帖子

在 Tomcat 8.0.30 上启用 CORS

感谢任何帮助。

我在新部署的 Tomcat 8.0.30 上遇到了 CORS 问题。我不断收到下面的错误。我使用 127.0.0.1 作为 API 服务器地址,192.168.1.100 是我的 HTTP 服务器地址。

请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“_http://192.168.1.100:8999”。响应的 HTTP 状态代码为 403。

阅读整个 Tomcat 文档,在 tomcat web.xml 以及项目 web.xml 下添加 cors 过滤器,但这里没有发生任何神奇的事情,仍然出现相同的错误。使用 init-param 尝试了最小和高级,同样的错误。

我使用 Spring 4 作为我的 REST API 框架。项目编码部分还需要配置吗?

以下是我到目前为止已完成的步骤:

  • 在 web.xml 下添加 cors 过滤器,根据文档进行最小配置,但不起作用
  • 在 web.xml 下添加 cors 过滤器,完整配置,但不起作用。
  • 尝试使用http://software.dzhuvinov.com/cors-filter.html中的 cors 过滤器,仍然无法正常工作

有什么建议么?

网络响应


添加web.xml配置我尝试将cors.allowed.origins更改为*,更改为127.0.0.1,192.168.1.100,全部不起作用,删除凭据和maxage

<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://192.168.1.100</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,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Authorization</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>
Run Code Online (Sandbox Code Playgroud)

Vishal建议,将tomcat版本从8.0更改为8.5,仍然是同样的问题 …

java cors tomcat8

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

cors ×1

java ×1

tomcat8 ×1