traefik - 使用 traefik 重写内容 URL
问题描述
我们正在使用 traefik 反向代理我们的微服务环境,在 staging 和 prod 的 kubernetes 上运行,并在本地进行 docker-compose。我们正在尝试将特定 URL 的请求代理到特定微服务,例如,“订单”微服务在我们的系统中为该关注点提供 API 和 UI。我们的目标是让我们的服务与它们所服务的 URL 无关,例如,“订单”微服务在 上提供服务/
,但 traefik 代理来自http://api.me.com/orders/{id}
a PathPrefixStrip
oforders
到 eg的请求http://orders.svc.kubernetes.local/{id}
。我正在尝试解决服务需要知道它在哪个 URL 上提供服务的问题,以便它写出的 URL 包含 中指定的值PathPrefix
,但我不喜欢重复PathPrefix
跨traefik和应用程序。这是在这种情况下“必须完成”的事情吗,traefik 是否能够重写响应中的 URL,或者是否有其他一些我们可以/应该应用的技术来实现这一点?
解决方案
这个问题已经2岁了。不确定当时使用的是哪个版本的 traefik。
但从 Traefik 1.3 开始,去除的前缀路径将在 X-Forwarded-Prefix 标头中可用。来源:https ://docs.traefik.io/v1.4/basics/
推荐阅读
- kubernetes-dashboard - 如何使自动定时注销时间更长?
- python - `fit_generator` 尚未为未构建的模型子类启用
- javascript - 如果 jstree.core.data 的数据为空,则显示错误消息
- javascript - jest.spyOn 不适用于导入的函数。预期的模拟函数已被调用,但未调用
- ruby-on-rails - 如何在 Rails 中渲染 SVG 内联?
- .net-core - 制作 Azure Function signalR 有效负载骆驼案例
- django - 使用 django-allauth 在 SignupForm 中添加更多字段
- google-maps - Map Center 和 Marker 基于文本输入创建
- firebase - 是否可以在 Cloud Firestore 中使用模板字符串变量编写规则?
- docker - 由于权限问题,Fluentd 无法访问 /var/lib/docker/containers 下的日志