在请求的资源上没有'Access-Control-Allow-Origin'标头。

时间:2018-08-11 16:01:26

标签: rest spring-boot cors vpn

亲爱的

我的Spring Boot Rest Services和angular JS出现了一个奇怪的问题, 启用VPN后,API会在请求的资源上抛出“没有Access-Control-Allow-Origin”标头”,但如果没有VPN,其便无法正常工作。

@Configuration

公共类CorsConfig {

@Bean
public WebMvcConfigurer corsConfigurer() {
    return new WebMvcConfigurerAdapter() {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**");
        }
    };
}

}

1 个答案:

答案 0 :(得分:-1)

问题是浏览器正在向服务器发送 option 请求,以在表单响应头中获取该请求的服务器权限

因此,您需要在响应中设置以下标头

response.setHeader("Access-Control-Allow-Origin", requestOrigin);

response.setHeader("Access-Control-Allow-Methods", JWTConstants.ACCESS_CONTROL_ALLOWED_METHODS);

response.setHeader("Access-Control-Allow-Headers", JWTConstants.ACCESS_CONTROL_ALLOWED_HEADERS);

或者您可以简单地使用*代替请求源,以便允许任何请求。

有关主题plz的更多信息,请参见

https://www.owasp.org/index.php/Test_Cross_Origin_Resource_Sharing_(OTG-CLIENT-007)

希望这对您有帮助