springCloud项⽬解决跨域问题通过 spring cloud gateway 实现,
⽅式⼀:选择在主启动类中注册CorsWebFilter类:
/**
* 1.允许cookies跨域
* 2.允许向该服务器提交请求的URI,*表⽰全部允许,在SpringMVC中,如果设成*,会⾃动转成当前请求头中的Origin
* 3.允许访问的头信息,*表⽰全部
* 4.预检请求的缓存时间(秒),即在这个时间段⾥,对于相同的跨域请求不会再预检了
* 5.允许提交请求的⽅法,*表⽰全部允许
*
* @return 返回 reactive 包下的 CorsWebFilter 对象
*/
@Bean
public CorsWebFilter corsWebFilter() {
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
final CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
config.setMaxAge(3600L);springmvc选择题
config.addAllowedMethod("*");
return new CorsWebFilter(source);
}
⽅式⼆:在配置中实现
server:
port: 8080
spring:
application:
name: online-course-gateway
cloud:
nacos:
discovery:
server-addr: localhost:8848 #配置 Nacos 地址
# 路由转发: 意思是只要是以 /system 开头的路径都转发到9001: 这样就可以做到对外隐藏,表⾯上访问的是9000实际上是9001    gateway:
routes:
- id: system
uri: lb://online-course-system
predicates:
- Path=/system/**
- id: business
uri: lb://online-course-business
predicates:
- Path=/business/**
# 全局跨域
globalcors:
# 跨域配置(可以在代码⾥⾯处理允许跨域,也可在这⾥全局处理)
corsConfigurations:
'[/**]':
allowedOrigins: "*"
allowedHeaders: "*"
allowCredentials: true
allowedMethods:
- GET
- POST
- OPTIONS
-
DELETE
- PUT
- HEAD
- PATCH

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。