复制实例后,CORS无法正常工作

问题描述 投票:2回答:3

我有一个运行实例与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>
java tomcat cors tomcat7
3个回答
1
投票

比较您使用的init参数名称

<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>

和Tomcat 7的configuration reference文档。你拼写错误。

cors.allowed.origins的默认值在2018年5月更改(对于Tomcat 7.0.89,8.5.32,9.0.9),以解决CVE-2018-8014(bug 62343)。


0
投票

你和你的旧实例在同一台服务器上的javascript / html / css了吗?

当浏览器进行一些API调用时,如果API地址在javascript路径的不同服务器/域中,浏览器将检查API的CORS头以确保该服务器允许跨源请求。在旧的例子中,一切都是相同的地方,所以没有必要这样做。但在新的实例中,您的应用需要将CORS标头返回给客户端。

您可以看到这个问题,以了解如何在Tomcat中将CORS头添加到您的应用程序:

Set CORS header in Tomcat


0
投票

我只是使用这些依赖项,并正在使用所有方法,POST,GET等...

    <dependency>
        <groupId>com.thetransactioncompany</groupId>
        <artifactId>java-property-utils</artifactId>
        <version>1.9.1</version>
    </dependency>

    <dependency>
        <groupId>com.thetransactioncompany</groupId>
        <artifactId>cors-filter</artifactId>
        <version>1.9.1</version>
    </dependency>
© www.soinside.com 2019 - 2024. All rights reserved.