我们正在使用三个相同服务的实例,它们在eureka注册。在他们面前有zuul。
每当我们的服务尝试重定向到其中一个控制器(例如/ login)时,它会直接转到hostname:port(在浏览器地址字段中可见),而不是再次通过zuul代理。这给了我们超时。
我们正在跟踪投入使用的标头 - 有host
标头设置为我们服务的主机名。
不应该使用x-forwarded-host
的地址吗?如何强迫zuul / eureka这样做?或者我们应该调整一些spring-boot配置来代替host
?
答案 0 :(得分:2)
您的服务正在使用自己的主机发送位置标头。您可以修改服务以引用基本主机,也可以编写zuul过滤器,在将响应标头发送到客户端之前修改响应标头。
以下是过滤器指南:https://github.com/Netflix/zuul/wiki/Writing-Filters
您可以通过RequestContext
修改标题。
如果您使用过滤器制作一个bean,则会在没有任何操作的情况下进行注册。