当前位置: 首页 > 知识库问答 >
问题:

Zuul似乎在REST调用后重写路由

万俟丁雷
2023-03-14

我在微服务项目中遇到了Zuul-Proxy的奇怪行为。我的设置包括一个发现服务(Eureka)、一个API网关(Zuul)和两个微服务“a”和“B”。启动安装后,将通过“本地主机:10000/routes”显示以下路由:

{
  "/api-gateway/**": "api-gateway",
  "/a-service/**": "a-service",
  "/b-service/**": "b-service"
}

我的Zuul配置如下所示:

zuul:
  ignored-services: ''
  add-proxy-headers: true
  sensitiveHeaders: 'Cookie,Set-Cookie'

现在我通过网关访问服务,并进行一些REST调用:

您可以下载一个包含4个组件的最小项目,它应该可以让您在以下位置轻松复制这种行为:https://github.com/netflix/zuul/files/827817/minimalzuulrouteBugProject.zip

谢谢你对这个问题的任何见解。

共有1个答案

乐正晟
2023-03-14

spencergibb@GitHub的回答:

http://cloud.spring.io/spring-cloud-static/camden.sr5/#_customizing_the_ribbon_client中,这是一个文档化的问题

FooConfiguration必须是@configuration,但要注意它不在主应用程序上下文的@ComponentScan中,否则它将被所有@RibBonClients共享。如果使用@componentscan(或@springbootapplication),则需要采取措施避免将其包含在内(例如,将其放在一个单独的、不重叠的包中,或者在@componentscan中指定要显式扫描的包)。

@Configuration //THIS ANNOTATION IS THE ERROR    
public class RibbonConfigAvailability {

    @Bean
    public IRule ribbonRule() {
        return new AvailabilityFilteringRule();
    }

}
 类似资料:
  • 我有以下配置文件。 当我请求curl-Ii-H“Host:example.com”时http://example.com上述重写规则有效。(啊)。。 server_name明确说“web.example.com” 2014/11/18 22:49:20[通知]30694#0:1868“^/(.)美元”匹配“/”,客户端:1.2.3.4,服务器:web。实例请求:“HEAD/HTTP/1.1”,主机

  • 问题内容: 如果我在节点中编写以下程序: 然后在服务器上单击两次,在服务器上看到两次- 我不确定为什么单个HTTP请求导致两次执行。 问题答案: 那是正常现象-您的浏览器拨打了多个电话。 例如,大多数浏览器都会呼叫来获取。 尝试记录网址: 然后您会看到正在调用的内容。

  • JNA还加载正确的库。 这里有人知道为什么不起作用吗?是因为我使用的是带有清单的jar应用程序文件吗? 有人有类似的问题吗?

  • 根据谷歌的教程,我用播放计费库1.0实现了应用内购买。我只有一个购买项目,当它解锁时,我会显示一条长度为吐司的吐司消息。LENGTH_SHORT。然而,吐司会在那里停留10秒钟,所以我假设它会被多次调用。它不会发生,当我通过queryPurchase解锁它(如果有人购买它更早,并在此期间重新安装应用程序)。 有人知道为什么祝酒会持续这么久/为什么会被多次叫来吗? 在我的BillingManager

  • 我对线程非常陌生,在代码中使用线程时,我面临以下问题。 点击一个按钮,我就启动了一个运行特定任务的线程,这个任务在系统的后台运行。我在线程中使用了一个while循环来检查一个易失性bool是否被另一个按钮点击来停止整个过程而改变。问题是我必须添加一个空循环,否则它看起来就像线程停止自己,不再检查while条件。我认为这是非常低效的,浪费了很多资源。 我添加了一个简短的代码版本,以减少不可读性。 你

  • 问题内容: 我的活动课在这里: 和相机预览类在这里: 但是,当我测试该类时,似乎首先调用onResume(),然后在1或2秒后再次调用。因此,相机必须再次刷新。如果我根本没有onResume(),则摄像头预览稳定,但是如果我从主屏幕或其他某个应用再次切换到该应用,则会崩溃。我发现onPause()不会影响任何一个。我的代码正确吗?我应该添加/删除哪些内容以使其不会再次刷新并且在应用切换后仍然不会崩