【发布时间】:2020-03-04 23:09:33
【问题描述】:
我正在将 zuul 网关迁移到 SCG。我的服务在 kubernetes 中运行并通过领事注册。 典型的服务名称是 xxx-service。因此,使用当前网关配置,我可以通过 http://address/api/xxx-service/some-path 调用它们
我当前的配置:
spring:
cloud:
gateway:
discovery:
locator:
enabled: true
lower-case-service-id: true
predicates:
- name: Path
args:
pattern: "'/api/' + serviceId + '/**'"
filters:
- name: RewritePath
args:
regexp: "'/api/' + serviceId + '/(?<remaining>.*)'"
replacement: "'/${remaining}'"
但客户应该在服务名称中不带“-service”后缀的情况下调用它们。如何配置 SCG 以便能够通过以下方式调用服务 http://address/api/xxx-service/some-path
之前的zuul配置:
zuul.routes.xxx.service-id=xxx-service
zuul.routes.aaa-bbb.service-id=aaa-bbb-service
zuul.routes.aaa-bbb.path=/aaa/bbb/**
zuul.strip-prefix=true
zuul.prefix=/api
【问题讨论】:
-
你知道如何配置吗? @Silk0vsky
-
嗨@Dolphin,抱歉回复晚了。我重新创建了我的解决方案作为答案。如果你有,请分享你的。