解决跨域的方案(生产环境)

产生跨域问题:协议 端口 域名 其中不一致  浏览器保护机制:同源策略

 

1、使用注解 @

@GetMapping("/list")
@Crossorigin
public List<string>list(){
tist<String>list Arrays.asList("Java","C++","Go");
return list;

2、使用过滤器  允许不同的请求头、不同的请求方法、不同的源

public class CorsConfig
@Bean
public CorsFilter corsFilter(){
CorsConfiguration corsConfiguration new CorsConfiguration();
corsConfiguration.addAllowedorigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
UrlBasedCorsConfigurationSource source new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration(pattern:"/**"corsConfiguration);
return new CorsFilter(source);

3、实现WebMvcConfigurer接口形式,类似于过滤器

@Configuration
public class CorsConfiguration implements WebMvcConfigurer
QOverride
public void addCorsMappings(CorsRegistry registry){
registry.addMapping(pathPattern:"/**"
allowedoriginPatterns("*")
allowedMethods("GET","POST","PUT","DELETE","HEAD","OPTIONS")
allowCredentials(true)
maxAge(3600)
allowedHeaders("*");

 

4、使用

Nginx配置——反向代理  参考本文章:https://blog.csdn.net/zxd1435513775/article/details/102508463

posted @ 2022-03-21 21:33  Chiffon1996  阅读(389)  评论(0)    收藏  举报