我正在尝试将所有终结点(服务发现未解决的)路由重定向到特定的URL / lb。
我有一个配置为通过Eureka解析每个/api
请求的Spring Cloud Gateway服务器。
spring:
cloud:
gateway:
discovery:
locator:
lowerCaseServiceId: true
enabled: true
predicates:
- name: Path
args:
pattern: "'/api/'+serviceId.toLowerCase()+'/**'"
filters:
- name: RewritePath
args:
regexp: "'/api/' + serviceId.toLowerCase() + '/(?<remaining>.*)'"
replacement: "'/${remaining}'"
[还有另一种前端服务也在Eureka中部署和注册。我的目标是将其他所有内容路由到该前端服务。我尝试添加以下路线来做到这一点:
spring:
cloud:
gateway:
discovery:
locator:
lowerCaseServiceId: true
enabled: true
predicates:
- name: Path
args:
pattern: "'/api/'+serviceId.toLowerCase()+'/**'"
filters:
- name: RewritePath
args:
regexp: "'/api/' + serviceId.toLowerCase() + '/(?<remaining>.*)'"
replacement: "'/${remaining}'"
routes:
- id: frontend
order: -1
uri: lb://frontend
predicates:
- name: Path
args:
pattern: "^((?!api).)*$"
但是没有用。
关于如何将eureka中未发现的所有其他路由都路由到特定服务/ URL的任何想法?] >> 感谢您的帮助
我正在尝试将所有终结点(服务发现未解决)重定向到特定的url / lb。我有一个配置为通过...
spring:
cloud:
gateway:
discovery:
locator:
lowerCaseServiceId: true
enabled: true
predicates:
- name: Path
args:
pattern: "'/api/'+serviceId.toLowerCase()+'/**'"
filters:
- name: RewritePath
args:
regexp: "'/api/' + serviceId.toLowerCase() + '/(?<remaining>.*)'"
replacement: "'/${remaining}'"
routes:
- id: frontend
order: 10
uri: lb://frontend
predicates:
- Path=/**