【发布时间】:2019-01-14 21:57:45
【问题描述】:
我有两种类型的 URL 模式,如下所示。
- /gateway/secure/api/user/getUser
- /gateway/nonsecure/api/user/getUser
(zuul网关应用上下文根为gateway)
使用 zuul 过滤器,我尝试基于secure 和nonsecure URL 模式实现两种不同的逻辑。我编写了一个预过滤器,似乎它甚至没有为上述 URL 模式执行该过滤器。我可以看到网关正在抛出404。当我尝试在没有secure 或nonsecure 的情况下访问微服务时,它按预期工作。以下是我到目前为止所做的属性更改。
下游微服务的上下文根是 api/user
zuul.prefix=/secure
zuul.routes.user.path=/api/user/**
zuul.routes.user.service-id=user
zuul.prefix=/nonsecure
zuul.routes.user.path=/api/user/**
zuul.routes.user.service-id=user
我已经尝试通过提供zuul.prefix 并且似乎前缀设置为全局并且不能仅适用于特定路由。我怎样才能做到这一点?谁能给点建议。谢谢
【问题讨论】:
-
没有什么全局的可以让你这样做。您需要为每条路线执行此操作。
-
@spencergibb 感谢您的建议。我已经为每条路线添加了上述前缀,并且似乎只采用最后一个前缀。任何想法?我错过了什么吗?
-
zuul.prefix只能有一个
标签: spring-boot microservices spring-cloud gateway netflix-zuul