【问题标题】:Debug Zuul route to underlying microservice调试 Zuul 路由到底层微服务
【发布时间】:2020-09-15 03:23:36
【问题描述】:

我使用 Spring Boot。我正在处理一个缺陷。当我们通过 Zuul 端点调用帐户服务时,它会给出 400 错误请求。独立的帐户服务按预期工作。唯一的问题似乎是当呼叫由/通过 Zuul 端点路由时。现在我正在调试这个。

我在 localhost 端口 8032 上启动了帐户服务,并添加了调试点,并在我通过 POSTMAN 中的本地主机调用时验证了它是否有效。所以这照常工作。然后我去了Zuul,并在应用程序属性中提供了zuul.routes.account.url=http://localhost:8032。我在本地主机上的不同端口上启动了 Zuul。因此,当我通过 POSTMAN 中的本地主机调用 Zuul 时,我希望调用转到在端口 8032 上运行的帐户服务,并希望达到我设置的调试点。但它根本不会发生。我收到 400 个错误请求。

当我在 Zuul 应用程序属性中更改为 zuul.routes.account.url=http://localhost:8050 并通过邮递员调用 Zuul 时,它给我一个错误,说没有应用程序在端口 8050 上运行意味着我为 zuul.routes.account.url 设置的值正在按预期设置(8050端口没有部署任何东西,我在8032端口有账户服务)。当我通过 POSTMAN 调用 Zuul localhost 时,我似乎无法弄清楚为什么我没有在部署在 8032 端口上的帐户服务中达到调试点。

【问题讨论】:

  • 你是否传递了任何标题?
  • 是的,我正在传递标头授权。看来通话正在进行中。
  • 您需要告诉 zuul 让授权标头通过,因为它默认将其删除。 cloud.spring.io/spring-cloud-static/spring-cloud-netflix/…
  • @spencergibb 感谢您的回复。如果默认情况下会删除标题,我会感到印象深刻,那么帐户服务可能会出错。我没有得到 401 未授权,我得到 400 错误请求。即使发生同样的事情。我的问题不是我收到 400 个错误请求。它没有达到我设定的终点,那是我被困住了。我正在阅读您发送的文章
  • @spencergibb 我把它留空了zuul.routes.cx.sensitiveHeaders=,我仍然得到相同的结果,没有达到调试点。

标签: java spring-boot spring-cloud netflix-zuul


【解决方案1】:

找到了根本原因,它与 http 标头大小有关。我需要将它从 5,000 增加到 10,000 并且工作得很好。分享以便其他人可以发现它有用。

【讨论】:

    猜你喜欢
    • 2019-07-18
    • 2020-04-24
    • 2017-05-16
    • 2017-04-28
    • 2015-04-24
    • 2017-04-21
    • 2019-09-11
    • 2016-12-23
    • 2017-12-19
    相关资源
    最近更新 更多