Access to XMLHttpRequest at ‘http://xxxx‘ from origin ‘http://www.x‘ has been blocked by CORS policy

今天想起来之前买的域名通过备案了但一直忘记绑定公网ip

然后试了一下发现,虽然能够ping通域名,且前端正常显示,但一直报错跨域错误无法访问后端接口,而公网ip却可以可以正常访问

一直想不通,问群友,检查了Nginx的配置,前端后端的跨域也配置了(后端用注解配置),反复启动检查都不行还是老样子,实在不知道怎么解决。。。。。

最后想起来后端可以用WebMvcConfigurer配置跨域,立马上去看,好家伙 果然已经配置过了,而且跨域配置还是仅限本地的

@Configuration
public class WebMVCConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {//跨域配置                            
     
      registry.addMapping("/**").allowedOrigins("http://localhost:8080");
    }
   
}

同时我也在控制层用了@CrossOrigin注解配置跨域

应该是配置类的优先级比跨域注解优先级更高,导致进行了覆盖,立马改了回来

@Configuration
public class WebMVCConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {//跨域配置                            
     
   registry.addMapping("/**").allowedOrigins("*").allowedMethods("*").allowedHeaders("*");
    }
   
}

再次测试,成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值