SpringCloud-Gateway转发请求与跨域配置
SpringCloud-Gateway统一处理请求
-
在分布式项目中,前端调用后端服务接口由于存在请求路径和端口不一致的问题,会导致前端调用接口ip地址的不统一问题,使用网关可以很好的解决这一难点。
-
在父项目中新建一个模块,用于处理网关、跨域等相关问题,例如网关模块端口为80,那么前端vue所调用的所有请求都统一发给这个80端口的网关,再由网关统一处理请求转发到不同的服务。
-
使用网关处理请求的基本配置(首先确保所有服务成功注册到注册中心):
spring:
application:
name: gulimall-gateway
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
gateway:
routes:
- id: product-route
uri: lb://gulimall-product
predicates:
- Path=/api/product/**
filters:
- RewritePath=/api(?<segment>/?.*),/$\{segment}
- id: admin_route
uri: lb://renren-fast
predicates:
- Path=/api/**
filters:
- RewritePath=/api(?<segment>/?.*),/renren-fast/$\{segment}
首先将网关也要注册到注册中心,然后配置网关的路由规则, -id 代表一个路由名称,保证唯一即可。uri 代表需要将请求转发到哪个服务的名称,predicates断言代表判断,满足条件就会执行转发。filters的- RewritePath将满足条件的路径进行重写。

浙公网安备 33010602011771号