如何在 apache tomcat 中启用 CORS

2022-09-01 23:24:33

我正在尝试使用一些跨域的Web服务。当我禁用chrome的Web安全性时,它工作正常。我希望它没有这个就可以工作,所以我尝试添加跨域.xml但它仍然不起作用。当我搜索更多时,了解了在tomcat中启用CORS的信息。

http://www.w3.org/wiki/CORS_Enabled 相比


对于Apache,可以将Apache配置为使用mod_headers公开此标头。默认情况下,这在 Apache 中处于启用状态,但是您可能希望通过运行以下命令来确保在部署中启用它:

a2enmod headers

若要公开标头,可以在 、 和 节中或 .htaccess 文件中添加以下行。

<IfModule mod_headers.c>
   Header set Access-Control-Allow-Origin "*"
 </IfModule>

任何人都可以让我知道在TOMCAT中在哪里添加这些配置以及确切地在哪些文件中。我正在使用来自eclipse的tomcat。

感谢任何帮助。


答案 1

Tomcat 中的 CORS 支持是通过过滤器提供的。您需要将此筛选器添加到您的文件中,并将其配置为符合您的要求。有关可用配置选项的完整详细信息,请参阅 Tomcat 文档web.xml


答案 2

检查此答案:在 Tomcat 中设置 CORS 标头

请注意,您需要 Tomcat 7.0.41 或更高版本。

要了解Tomcat的当前实例所在的位置,请尝试以下操作:

System.out.println(System.getProperty("catalina.base"));

您将在控制台视图中看到该路径。

然后在该文件夹上查找/conf/web.xml,打开它并添加上面链接的行。