问题标签 [haproxy-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.

0 投票
0 回答
29 浏览

kubernetes - 将传入流量路由到具有在 URL 中指定的标签的 pod

我想使用 URL 中传递的参数将流量路由到具有特定标签的 pod。我无法提前知道app将使用哪些值,因此它必须以某种方式动态创建 Ingres 规则/服务:

例子:

https://foo.bar.com/?app=application1 --> 路由到服务/podslabel: app=application1

https://foo.bar.com/?app=application2 --> 路由到服务/podslabel: app=application2

https://foo.bar.com/?app=non-existing-app --> 路由到 service/pods 没有任何标签app

我想知道是否可以在path和相应的服务中使用变量,这是想法和伪代码:

0 投票
0 回答
69 浏览

session-cookies - 延长每个请求的关联 cookie 的生命周期

我们在我们的 kuberntes 集群中使用了一个 haproxy 入口,它具有 cookie 亲和性来处理粘性会话。

入口配置如下:

我们希望在每次请求/响应后延长cookie 的生命周期,但事实并非如此。在给定的 Max-Age 期间,我们只接收一次 cookie(对于第一个请求)。

这种行为可以改变吗?

作为一种解决方法,我们删除了 Max-Age 属性 - 现在 cookie 与客户端会话一样长(例如,浏览器实例处于活动状态)。但这可能会导致阻止重新部署/更新集群中的 Pod,因为我们还使用了排水支持功能(如果客户端会话仍然处于活动状态,活动客户端可以再次到达同一个 Pod)。

0 投票
0 回答
11 浏览

windows - 如何在 haproxy 中导入 CRL 分发点

我需要在 haproxy 的配置文件中的 crl-file 选项中放置一个证书吊销列表来验证服务器的证书。

我有这个使用 win 服务器生成的 CRL:

在此处输入图像描述

来自Haproxy的文档,crl 文件:

我如何更改此 crl 的格式并将其导入 haproxy 配置文件,因为该选项需要 PEM 格式。

0 投票
1 回答
63 浏览

haproxy - HA-Proxy 日志的含义

在 HA-Proxy 中获取以下日志,并且它不会影响我的 spring-boot 应用程序的控制器方法。而且它也没有提到http状态码。但其他请求有 http 状态码。

知道这个日志的含义是什么。

0 投票
2 回答
126 浏览

kubernetes - 在 Kubernetes/Openshift 中将客户端-服务器流量保持在同一区域的最佳方法?

我们运行一个兼容 Kubernetes (OKD 3.11) 的本地/私有云集群,后端应用程序与用作缓存和 K/V 存储的低延迟 Redis 数据库通信。新的架构设计即将在两个地理分布的数据中心(“区域”)之间平均划分工作节点。我们可以假设节点名称和区域之间是静态配对的,现在我们还添加了带有区域名称的节点标签。

保护与内存数据库的低延迟通信的推荐方法是什么,使客户端应用程序坚持与允许使用的数据库相同的区域?增加数据库的额外副本是可行的,但不会阻止两个区域之间的循环路由......

相关:单个集群中的 Kubernetes 节点不同区域

0 投票
0 回答
18 浏览

amazon-ec2 - 在启动时启动 haproxy 时出现未知用户 haproxy

我们在启动时使用 hapoxy 启动 EC2 实例。我们为此设置使用 rc-local。我添加了几行配置来处理如何使用 dnsresolver 连接后端服务器。但是当我尝试将更改部署到我的开发环境时,我开始看到 haproxy 没有开始。查看我发现的系统日志

我很好奇,并试图比较我的开发(因新更改而中断)和产品(在没有新更改的情况下工作)实例之间的一些配置。他们都使用相同版本的 haproxy 2.0.13-2ubuntu0.3 2021/08/27 两个实例在 /usr/lib/tmpfiles.d/haproxy.conf 下具有相同的文件内容

然后我开始好奇用户是如何在两个系统中设置的。在开发中,它似乎设置为

在产品中,它似乎设置为

这个用户在 dev 中设置为 /home/haproxy 肯定是问题所在,但是我目前没有似乎指向我这个用户创建的配置。有人可以指出我需要寻找的地方吗?

非常感谢

0 投票
0 回答
29 浏览

nginx - 持久性会话处理仅适用于隐身模式 - HAProxy

我有一个在 HAProxy 负载均衡器后面运行的 Java Web 应用程序,一些用户遇到身份验证错误,或者在连接时显示无效/用户密码错误,但在隐身模式下一切正常。这看起来像是一个粘性会话问题。以下是我的 haproxy 配置,感谢任何解决此问题的建议。

0 投票
1 回答
192 浏览

kubernetes - haproxy use pod name as server name

I have a haproxy as a load balancer running in k8s with a route to a service with two running pods. I want the server naming inside haproxy to correspond to the pod names behind my service. If I'm not mistaken the following configmap / annotation value should do exactly this: https://haproxy-ingress.github.io/docs/configuration/keys/#backend-server-naming. But for me it doesn't and for the life of me I can't find out why. The relevant parts of my configuration look like this:

controller deployment:

controller service:

controller configmap:

backend server ingress:

The generated backend part of the haproxy.conf looks like this:

Everything works fine except backend-server-naming: "pod". I also can't get any of the session-cookie-* properties from here to work. Because of that I used the backend-config-snippet to overwrite the cookie line in the generated haproxy.conf with my custom one (I added maxidle 10m httponly secure). What am I doing wrong?

0 投票
1 回答
253 浏览

kubernetes - Haproxy 入口控制器

我已经通过 helm 安装了入口控制器作为守护程序集。我已将入口配置如下:

选择的类型是负载均衡器。我可以从任何节点 ping 端口 80 上的入口 IP 地址也可以很好地卷曲它。我也可以从节点浏览任何入口 Pod 的 IP 地址。但是当我浏览节点 ip o 端口 80 时,连接被拒绝。我在这里缺少什么吗?

0 投票
0 回答
126 浏览

kubernetes - HAProxy 入口重写规则似乎未应用

我正在尝试通过路径重写设置一个简单的入口,以将请求传递给我的后端服务。

参考:https ://haproxy-ingress.github.io/v0.10/docs/configuration/keys/#rewrite-target

入口控制器使用此图像:quay.io/jcmoraisjr/haproxy-ingress:v0.10-beta.1.

这是示例 YAML:

预期行为:

  • https://myapp.mydomain/api/v1/hello/*它应该将请求从GKE 服务路由到myapp-hello-svc:8080/*

实际行为:

  • 它将所有内容路由到myapp-hello-svc:8080/api/v1/hello/*(myapp-hello-svc pod 接收GET /api/v1/hello/*

我尝试了其他一些组合和规则,但似乎都没有。

有什么我可能在这里错过的想法吗?谢谢!

更新:解决方法

由于目前我仍然找不到解决方案,我决定使用解决方法,将 NGINX 入口控制器添加到 K8S 集群并通过它路由新 API 的流量。