Iam使用Spring Boot + Cloud Zuul代理(org.springframework.cloud:spring-cloud-starter-zuul:1.0.0.RELEASE)。我有以下配置。
info:
component: Zuul Server
endpoints:
restart:
enabled: true
shutdown:
enabled: true
health:
sensitive: false
zuul:
ignoredServices: "*"
proxy:
mapping: /api/v1
addProxyHeaders: true
routes:
service:
path: /service/**
serviceId: service
stripPrefix: false
server:
port: 8765
logging:
level:
ROOT: INFO
org.springframework.web: INFO
eureka:
instance:
preferIpAddress: true
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
我希望访问URL像上述配置中那样作为http:// localhost:8765 / api / v1 / service提供服务(参考:https : //github.com/joshlong/microservices-lab/blob/master/api-网关/网关/src/main/resources/application.yml)。
但这不起作用,URL http:// localhost:8765 / service起作用。
有没有一种方法可以实现这一点,因为我不希望单个服务具有/ api / v1上下文。
不知道您在哪里得到的zuul.proxy.*
选择。它们无效。zuul.addProxyHeaders
已验证。
你想要的是zuul.prefix=/api/v1
。默认设置是转发时删除该前缀。如此/api/v1/service
转发/service
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句