# 跨域
关于跨域的概念,请参看:腾讯云的介绍
# 怎么判断是跨域
- 是否是同一协议,比如 http、https等
- 是否是同一ip地址
- 是否是同一端口
只要以上三个条件中有一个不满足,既是跨域
# 如何解决
常见的解决方式大概有三种:前端解决(适用于前后端分离分离项目)、后端解决、通过代理服务器解决(比如常见的nginx代理配置解决)
现在我这里只介绍通过后端的配置来解决跨域的问题,前端和nginx代理的解决方式,之后会写
# spring boot 解决
// 我们通过实现WebMvcConfigurer接口来解决跨域
package xxxx;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @description: 后端通过实现 WebMvcConfigure 接口来实现跨域
* @className: CorsConfig
*/
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowCredentials(true)
.allowedMethods("GET", "POST", "DELETE", "PUT","PATCH")
.maxAge(3600);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24