为什么没有Access-Control-Allow-Methods。 CORS

时间:2019-12-24 15:39:15

标签: java spring spring-boot cors spring-webflux

我具有CORS全局配置:

@EnableWebFlux
@Configuration
public class WebFluxConfig implements WebFluxConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
            .allowedOrigins("*")
            .allowedMethods("GET", "POST")
            .allowedHeaders("*");
    }
}

当我发送OPTIONS查询时:

curl -i -X OPTIONS -H "Origin:test.com" -H "Access-Control-Request-Method: GET" 

我明白了:

http://localhost:9999/my
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET,POST
Access-Control-Max-Age: 1800
content-length: 0

有Access-Control-Allow-Origin和Access-Control-Allow-Methods。一切都很好。

但是如果我发送:

curl -i -H "Origin:test.com"  http://localhost:9999/my

我不使用Access-Control-Allow-Methods:

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Access-Control-Allow-Origin: *
Content-Type: text/plain;charset=UTF-8
Content-Length: 2

查询curl -i -H "Origin:test.com" -H "Access-Control-Request-Method: GET" http://localhost:9999/my返回相同的结果。

为什么?请帮助我

0 个答案:

没有答案