问题标签 [traefik-ingress]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
traefik - Kubernetes入口中基于Traefik路径的路由无法按预期工作
我正在尝试在 Kubernetes 中使用 Traefik 入口控制器提供的基于路径的路由机制,但我在 url 重写时遇到了一些问题。
我的 [更新] 配置如下
流量被路由到正确的服务,但是当我查看 db-manager (kubernetes) 服务的日志时,url 仍然以 /db 为前缀。我对 PathPrefixStrip 的期望是,流量将在没有 /db 前缀的情况下路由到运行 db-manager 微服务的容器,该容器正在监听 / ( http://db-manager:8081 ) 在后端边。
我错过了什么吗?traefik 支持还是只有 nginx 支持?预先感谢您的反馈。
[编辑]
更具体地说,我使用下面讨论的当前注释观察以下内容
- traefik.ingress.kubernetes.io/rule-type: "PathPrefixStrip"
- traefik.ingress.kubernetes.io/rewrite-target:“/”
网址:http://local-ubuntu/db [OK] -> 200
然后其他资源正在加载,但指向错误的基本 url
例子:
资源网址是:http://local-ubuntu/public/css/bootstrap.min.css
但这应该是:http://local-ubuntu/db/public/css/bootstrap.min.css (当我手动尝试时有效)
我不确定我在当前配置中缺少什么。
grpc - Traefik 作为入口控制器 + 服务器 GRPC - 未知:未收到状态
我在 AKS 中使用 traefik 作为入口控制器,我有一个可以在本地正确运行的 grpc 服务,但是 traefik 背后有一些问题。
当GRPC服务器返回错误时,我正确接收,但是当它发送正常响应时,我没有收到:
对比
错误:
k8s 服务 yml:
编辑:更多信息
经过一些调试,我检查了收到的响应:
这里唯一的问题是状态,一旦反序列化读取内容正确的响应:{ response: 'PONG' }
我不知道为什么将状态设置为 2 (UNKNOWN) 而不是 0 (OK)。
kubernetes - Traefik 1.7 升级打破 kubernetes 1.7.12
我们已经 traefik 一年多了,它一直很棒。我们目前在 1.6.6 上,一切正常,一旦我们尝试升级到 1.7,我们所有的端点都会得到 502。知道为什么会发生这种情况吗?
我们正在尝试升级,因为 NS1 是作为 DNS 提供程序引入的,而且 HTTP 挑战似乎不再起作用。
这是我们当前的设置:
似乎我们得到了:
time="2019-02-08T00:40:58Z" level=debug msg="'502 Bad Gateway' 导致:EOF"
docker-compose - Traefik:简单的 Letsencrypt HTTPS 重定向到 whoami 服务抛出“404 页面未找到”
我已经尝试启动并运行了两天,但一些简单的 HTTP -> HTTPs 重定向不起作用!:(
非常简单的用例:
whoami.my-example-domain.com:80 => 重定向到 whoami.my-example-domain.com:443 然后 traefik 在内部重定向到我的 whoami 服务 docker 容器的 :80。
这是 docker-compose.yml
当我现在调用http://whoami.some-example-domain.com(这只是一个演示域并且不起作用)=> 它重定向到 HTTPs ......这很酷,但随后它抛出了著名的“ 404 页面未找到” traefik 标准错误。
如果已经尝试为容器设置以下标签:
- “traefik.port=80”
- “traefik.frontend.entryPoints=http”
那也没有用。
任何帮助,将不胜感激!提前致谢!
问候,
萨沙
kubernetes - 如何使用 traefik 捕获传出的 404
我正在使用 traefik 作为 kubernetes 的入口。如果我的任何服务返回 404 或没有服务来回答该请求,我需要做一些特殊的事情,因此再次返回 404。
目前,我有一个默认后端,当不满足入口规则时,它能够捕获 404,但是当服务本身返回 404 时,它会呈现自己的页面,这不是我想要的。
我尝试通过注释来实现这一点:
但这并不理想,因为我必须将此注释放在集群中的每个入口规则上。
我怎样才能从我的集群中捕获所有传出的 404 并将它们发送到我的一个特殊服务,该服务对那些 404 有一些魔力?
[编辑]
为了更好地理解我想要做的事情:
使用默认后端有点好,因为是的,如果它不在入口规则中,那么它就像一个魅力,但如果请求如下:
我们有/timeline
入口规则,然后请求将被传递给坐在该规则上的服务,但/asd
在该服务中不存在,因此,服务返回它自己的 404 页面,我无法捕获我可能需要的这个请求重定向。
kubernetes - 使用 entryPoints.http.forwardedHeaders 的带有 X-Forwarded-For 标头的 Traefik 白名单不起作用
我正在尝试使用 traefik 1.7.6 将入口资源放在白名单后面,但它一直返回 403 状态代码。
请注意,Traefik 位于负载均衡器后面,它将 X-Forwarded-For 标头放入请求 ( https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/httpheaders.htm )。
这是traefik配置
这里有应该列入白名单的入口资源
如果我发出请求,使用列入白名单的 ip 之一,我可以看到 Traefik 没有使用 X-forwarder-header 来解析我的真实 ip。
添加服务文件.yml
更新:Trefik 调试日志
traefik - Traefik 没有路由到 docker 后端中的静态资源
Traefik 无法将请求静态资源的客户端脚本路由到正确的后端。因此,JS、CSS、图像等静态资源无法加载。
简而言之,我试图将 traefik 设置为使用 PathPrefixStrip 访问单个主机上的多个应用程序的内部(局域网内)反向代理,例如
http://{IP-ADDR}/AppA http://{IP-ADDR}/AppB
可悲的是,要让它始终如一地工作是一场艰苦的斗争。
在以下情况下一切正常: - 为 PathPrefix 设置 Traefik 仪表板/whoami - 配置前端规则以允许在站点根目录访问(例如 http://{IA-ADDR}/ )
以下屏幕截图提供了降级配置:
直接访问 Calibre-web - http://{IP-ADDR}:8083
通过 traefik 访问 - http://{IP-ADDR}/books
我错过了什么?
提前致谢!米
kubernetes - Traefik 入口粘性会话哈希值
我有带有 Traefik 的 Kubernetes 集群。我有一个 Kubernetes 部署,其中包含多个副本和一个关联的 Kubernetes 服务。我为 Kubernetes 服务添加了会话亲和性:
会话关联工作正常,我可以看到 Traefik 创建 cookie REPLICA
。但是该 cookie 的值是副本 pod 的内部 ip,例如http://10.244.2.28:8080
. 是否可以将 Traefik 配置为使用某种哈希,而不是 Pod 的内部 IP 地址?
kubernetes - 如何在 Traefik Ingress Controller 后面为微服务添加缓存?
一段时间以来,我一直在使用基于 Docker 的设置和 nginx 反向代理转发到 Dockerized 微服务。现在我正在评估切换到基于 Kubernetes 的方法和Traefik Ingress Controller。
Ingress Controller 提供了所有需要的功能,除了一个:它不支持缓存。
微服务在为静态资源提供服务时性能不是很好,我更愿意减少负载,以便它们可以专注于其实际目的,处理动态 REST 请求。
有没有办法为基于 Traefik 的 Ingress 添加缓存支持?由于有许多小型服务,如果可能的话,我不希望为每个微服务启动一个专用的 Pod。此外,如果可能的话,将不胜感激基于配置的方法(也许使用自定义Operator?)。