【发布时间】:2019-05-12 10:27:08
【问题描述】:
我有一个正在运行的带有 tomcat 7 和 java 应用程序的实例。我想复制该实例。在亚马逊,我点击“创建图像”,并从中启动了一个新实例。之后,我尝试使用新实例。当我提出简单的请求时,它可以工作,但是当我从浏览器尝试时,我得到了 CORS 错误:
Access to XMLHttpRequest at 'https://xxxxxx/getConfiguration' from origin 'http://xxxxxx:9000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
我的服务器或前端配置没有任何变化。当我使用旧服务器时,它可以工作。 cors过滤器是一样的:
<filter>
<filter-name>CORS</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified, Access-Control-Request-Method,Access-Control-Request-Headers,authorization</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT,DELETE</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
【问题讨论】:
-
请将
<init-param> <param-name>cors.exposed.headers</param-name> <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value> </init-param>添加到您的过滤器中,让我知道它是否有效 -
@Spara 不工作
-
@Spara 但这已经有效。复制实例时会发生什么变化?
-
是的,我知道那是一件奇怪的事情!