每当请求命中Zuul时,我都会得到一个302重定向,指向要调用的实际服务的宿主。所以url被Zuul重写了。我想阻止这一切。用户应该只看到Zuul的主机名。
我有一个Spring Cloud Zuul,我使用它作为路由服务器。它有以下配置:
zuul:
ignoredServices: '*'
routes:
service1:
path: /service1/**
serviceId: service1
stripPrefix: false
service2:
path: /service2/**
serviceId: service2
stripPrefix: false
login:
path: /login/**
sensitiveHeaders:
serviceId: login
stripPrefix: falseZuul正在使用Eureka进行服务发现。假设logingateway在localhost:8081上运行,Zuul在localhost:8080上运行。如果去localhost:8080/login,我会先打302,然后再去localhost:8081/login。我不想要302重定向,我希望主机名保持不变。我没有找到任何关于这个问题的相关文档。谢谢。
发布于 2016-08-10 08:59:37
正如@spencergibb评论的那样,Zuul不会对HTTP响应进行任何重写。围绕这一点还有一个悬而未决的问题:https://github.com/spring-cloud/spring-cloud-netflix/issues/8。共识是Zuul不会提供这一点,但范围缩小到只重写location头,这是302重定向响应的一部分。你可以跟踪这个问题,看看它的发展方向,但就目前而言,使用Zuul内置过滤器是不可能的。
您可以随时为Zuul创建自己的Post filter,以便自己完成此操作。查看Zuul文档以了解何时执行过滤器:https://github.com/Netflix/zuul/wiki/How-it-Works,然后阅读如何编写自己的过滤器:https://github.com/Netflix/zuul/wiki/Writing-Filters
https://stackoverflow.com/questions/38861079
复制相似问题