1.配置路由转发的格式
spring: cloud: gateway: routes: - id: mymodule #保证唯一 uri: lb://mymodule #注册中心中的服务名,对应配置spring.application.name: #uri: http://127.0.0.1:9100/mymodule #指定转发url predicates: - Path=/mymodule/** #拦截规则 filters: - StripPrefix=1 #需要去除uri第一级,如访问路径为http://127.0.0.1:8080/mymodule/download,则拦截后转发路径为http://127.0.0.1:9100/download - NluDownloadFilter #自定义过滤器,继承GatewayFilterFactory,复写name方法,指定过滤器名
2.路由重定向问题
参考spring cloud Gateway 服务网关_重定向问题_懵懵懂懂程序员的博客-CSDN博客_网关重定向
routes:
- id: idm-user-service
uri: lb://idm-user-service #lb表示从注册中心获取服务
predicates:
- Path=/userapi/**
filters:
- PreserveHostHeader #该拦截路径的转发仍将保持原有的host信息,不会重定向
或者配置全局:
spring:
application:
name: idm-gateway-service
cloud:
gateway:
globalcors:
default-filters: #全局用于配置所有路由共享过滤器
- PreserveHostHeader #发送原主机头