1、跨域产生的条件
当前页面url | 被请求页面url | 是否跨域 | 原因 |
---|---|---|---|
http://www.test.com/ | http://www.test.com/index.html | 否 | 同源(协议、域名、端口号相同) |
http://www.test.com/ | https://www.test.com/ | 跨域 | 协议不同(http/https) |
http://www.test.com/ | http://www.baidu.com/ | 跨域 | 主域名不同(test/baidu) |
http://www.test.com/ | http://blog.test.com/ | 跨域 | 子域名不同(www/blog) |
http://www.test.com:8080/ | http://www.test.com:7001/ | 跨域 | 端口号不同(8080/7001) |
2、后端解决跨域
# 在网关的项目中添加
@Configuration
public class YuejiCorsConfiguration {
@Bean
public CorsWebFilter corsWebFilter() {
// 使用响应式包中方法 org.springframework.web.cors.reactive
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration = new CorsConfiguration();
// 请求头
corsConfiguration.addAllowedHeader("*");
// 请求方式 POST PUT DELETE ..
corsConfiguration.addAllowedMethod("*");
// 请求来源
corsConfiguration.addAllowedOrigin("*");
// 允许携带cookie
corsConfiguration.setAllowCredentials(true);
source.registerCorsConfiguration("/**", corsConfiguration);
return new CorsWebFilter(source);
}
}
标签:www,http,跨域,corsConfiguration,com,test,阅己,书城
From: https://www.cnblogs.com/fengchong0925/p/18398186