首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:如何配置到Consul的路由?

:如何配置到Consul的路由?
EN

Stack Overflow用户
提问于 2020-02-01 21:51:34
回答 1查看 786关注 0票数 1

我尝试将spring云网关配置为将HashiCorp领事的标准ui转发到“/ Consul /ui”或仅仅“/consul”下。然而,我不知道如何正确地做到这一点。领事正在按标准配置运行。我有一个外部ip地址和10.2.0.2的本地网络接口。我试过:

代码语言:javascript
复制
routes:
    - id: consul
      uri: "http://127.0.0.1:8500"
      predicates:
        - Path=/consul/

然而,curl -L 127.0.0.1 /consul /ui给出了一个500,因为根据日志,网关与/consul不匹配,而是/consul/**,然后决定路由到10.2.0.2:8300,即领事rpc端点。

另一次尝试:

代码语言:javascript
复制
- id: consul
      uri: "http://127.0.0.1:8500"
      predicates:
      - Path=/consul/**
      filters:
      - StripPrefix=1

..。和另一个完全一样。另一种有希望的办法:

代码语言:javascript
复制
- id: consul
      uri: "http://127.0.0.1:8500"
      predicates:
      - Path=/consul/**
      filters:
      - RewritePath=/consul/(?<segment>.*), /ui/$\{segment}

使用curl -L实际上可以在命令行上工作。然而,在浏览器中,我只看到领事徽标,但整个页面没有加载。

我当然也尝试过其他的组合,都没有用。

注意:领事/ui端点传递状态302,然后转发到实际页面。

注意:我在网关中使用SSL。

注意:ssh -N -f -L 8500:localhost:8500 <user>@<host>允许我在localhost:8500下本地打开预期的ui。

更新:显然是一个糟糕的选择,因为领事本身已经在这条路线下注册了,因此我有了冲突。这至少说明了为什么云网关尝试路由到端口8300。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-08 21:22:06

不幸的是,目前对这个问题没有真正的答案,但有一些棘手的解决办法。然而,人们正在研究一种解决方案,以便能够代理通过领事ui。参见例如https://github.com/hashicorp/consul/issues/1382

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60021383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档