springboot跨域配置

之前找的跨域配置有时生效,有时无效,这次做了测试顺便记录一遍(nginx,Cors)跨域配置

1. springboot跨域配置

@Configuration
public class CorsConfig  {

    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedHeader("*");                // 设置访问源请求头
        corsConfiguration.addAllowedMethod("*");	//允许的请求方法,PSOT、GET、OPTIONS等
        corsConfiguration.setAllowCredentials(Boolean.TRUE);
        // 2.4以后这样设置 替换 addAllowedOrigin("*)
        corsConfiguration.addAllowedOrigin("*");
//        corsConfiguration.setAllowedOriginPatterns(Arrays.asList(CorsConfiguration.ALL));
        corsConfiguration.setMaxAge(3600L);
        return corsConfiguration;
    }

    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig()); // 4 对接口配置跨域设置
        return new CorsFilter(source);
    }


}

3. 注解方式

在方法或类名前面加上:@CrossOrigin

2:nginx跨域配置

location段内增加一下代码

        location /api-v2/{
                 add_header 'Access-Control-Allow-Origin' '*';
                 add_header 'Access-Control-Allow-Headers' '*';  #设置访问源请求头
                 add_header 'Access-Control-Allow-Methods' '*';  #允许的请求方法
                # OPTIONS 直接返回204
                if ($request_method = 'OPTIONS') {
                        return 204;
                 }
                proxy_pass http://192.168.1.100:8086/;
        }

以上配置取一种就好,否则会报错

has been blocked by CORS policy: The ‘Access-Control-Allow-Origin’ header contains multiple values ’ *', but only one is allowed

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值