gpt4 book ai didi

tomcat - 在哪里启用cors?

转载 作者:行者123 更新时间:2023-11-28 22:17:50 24 4
gpt4 key购买 nike

我有一个非常基本的问题。

我在 tomcat 服务器上托管了一个应用程序 www.myapp1.com。它依次调用托管在 myapis.com/api1 上的 apache 服务器上的 api。

加载页面时,它中断说明 -

XMLHttpRequest cannot load myapis.com/api1. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'www.myapp1.com' is therefore not allowed access. The response had HTTP status code 403.

我知道我必须启用 CORS。我的问题是我应该在哪个服务器上启用 CORS?应该是 www.myapp1.com 还是 myapis.com/api1

我尝试在 www.myapp1.com 上启用 CORS,这是一个 tomcat7.0.59 服务器,方法是将最小过滤器(如下)添加到/config/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>

url-pattern 中的通配符是否导致了问题?我需要做些什么来设置过滤器类吗?

我正在使用 chrome 进行测试。请帮忙。

最佳答案

default value cors.exposed.headers""。添加此参数可以解决此问题。

<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.exposed.headers</param-name>
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
</init-param>
</filter>

关于tomcat - 在哪里启用cors?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37581182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com