【问题标题】:Cross-origin resource sharing for Tomcat 5.5Tomcat 5.5 的跨域资源共享
【发布时间】:2012-03-25 18:08:13
【问题描述】:

我是跨域资源共享的新手,我想在 Tomcat 5.5 服务器中启用它。谁能给我一些提示如何实现?

我想为所有请求通用设置标头,并允许所有来源 (Access-Control-Allow-Origin: *)

【问题讨论】:

  • 对不起,但这并不能回答我的问题。我可以允许所有域(使用*),但我需要为 Tomcat 配置它。
  • 嗨,我认为接受的答案已经过时,请考虑切换到我下面的答案,以便人们现在有机会看到 Tomcat 中存在标准机制。

标签: javascript tomcat http-headers cross-domain cors


【解决方案1】:

如果是静态站点,那么从 Tomcat 7.0.41 开始,您可以通过 built-in filter 轻松控制 CORS 行为。

您几乎唯一需要做的就是在CATALINA_HOME/conf 中编辑全局web.xml 并添加过滤器定义:

... CorsFilterorg.apache.catalina.filters.CorsFilter过滤器> CorsFilter/*

但请注意,Firefox 不喜欢 Access-Control-Allow-Origin: * 和带有凭据 (cookie) 的请求:when responding to a credentialed request, server must specify a domain, and cannot use wild carding.

【讨论】:

  • +1,我认为这是对这个问题的完美回答。
  • 没有通配符的多个域的任何方式? Firefox 拒绝此标头中的逗号
  • 我试图遵循这个答案,但我不知道应该在 xml 层次结构中的哪个位置添加这个定义。对于不熟悉 web.xml 中特定 xml 层次结构的人,有人可以将此线索添加到答案中吗?谢谢!
【解决方案2】:

这是一个用于添加 CORS 支持的 Tomcat 过滤器:https://bitbucket.org/jsumners/corsfilter

【讨论】:

  • 我无法弄清楚它对解决问题有何帮助。
猜你喜欢
  • 1970-01-01
  • 2013-05-12
  • 2013-04-01
  • 2011-05-07
  • 2013-01-12
  • 2018-05-04
  • 2011-07-31
  • 2011-07-05
  • 2019-07-13
相关资源
最近更新 更多