草庐IT

$HAProxy

全部标签

ssl - 将 http 重定向到 https haproxy 使用 ssl passthrough

这是我的配置前端www-httpbind*:80optiontcplogdefault_backendwww-backendmodetcp前端www-httpsbind*:443default_backendwww-backendoptiontcplogmodetcp后端www-backend模式TCPserverweb1192.168.1.191:443checkserverweb2192.168.1.192:443checkbackup我想当用户输入mysite.com>>https://mysites.com我在前端使用重定向方案httpsif!{ssl_fc}作为后端,但它无法

具有持久 TCP 连接的 HAProxy 中的 TCP 负载平衡

目前,我有一个客户端(组件)与服务器(另一个组件)有一个持久的TCP连接,并且消息是异步交换的。我想要一个负载均衡器(最好是HAProxy),其中连接b/w客户端和负载均衡器以及b/w负载均衡器和多个服务器作为持久TCP连接。我知道HAProxy可以很容易地设置为TCP负载平衡,但我想知道它是否支持开箱即用的持久连接。如果有人指出我正确的方向,那将是很大的帮助。谢谢。 最佳答案 是的,它支持开箱即用的持久TCP连接。haproxy中的一个简单实现如下所示listentcpProxy0.0.0.0:7000modetcpbalance

tcp - 当主服务器恢复时,Haproxy 关闭与备份主机的连接

问题当主要主机在停机后可用时,我能否让haproxy关闭与备份主机的所有连接?上下文我正在使用HAproxy为pubsub进行故障转移。haproxy后端配置如下所示:listenpubsub0.0.0.0:1234modetcpserverprimaryprimary.x.com:1234weight1inter500rise10fall5checkserverbackupbackup.x.com:1234weight1inter500rise10fall5checkbackup我为发布端和订阅端建立长期连接。问题在于:primary下降A连接到backup并发布B连接到backup

java - Haproxy + 网络 : Way to prevent exceptions on connection reset?

我们在运行netty-3.6的后端前使用haproxy。我们正在处理大量的连接,其中一些可能是长期存在的。现在的问题是,当haproxy关闭连接以重新平衡时,它通过发送tcp-RST来实现。当netty使用的sun.nio.ch-class看到这一点时,它会抛出一个IOException:“Connectionresetbypeer”。跟踪:sun.nio.ch.FileDispatcherImpl.read0(NativeMethod):1in""sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39):1in""sun.n

python - HAProxy 是如何达到它的速度的?

HAProxy在进行负载均衡时如何避免请求时间开销?我测试了HAProxy并为了好玩将它与用Twisted(Python)编写的简单端口转发器进行了比较。在我的初步测试中,通过HAProxy负载均衡器发出HTTP请求与发出相比,请求时间不会增加开销[1]>HTTP请求直接到后端服务器。而我自己的python脚本在响应时间中增加了~3x开销。现在我的脚本是用Python和HAProxy用C编写的,所以先验地,HAProxy有一个避免Python代码经历的调用开销(从Python代码到syscalls)的优点。但这是否可以解释性能上的巨大差异,或者HAProxy是否利用一些操作系统技巧来进

html - 如何配置 HAProxy 以处理服务器发送的事件?

我正在尝试向发送服务器发送事件的现有应用程序添加端点。通常可能有大约5分钟没有事件。我希望将该端点配置为即使响应未在~1分钟内完成也不会切断我的服务器,但如果服务器无法响应,所有其他端点将超时。有没有简单的方法来支持HAProxy中的服务器发送事件? 最佳答案 以下是我对HAProxy和SSE的建议:您在HAProxy中有很多自定义超时选项,并且有2个有趣的选项供您使用。timeouttunnel指定隧道连接超时-用于Websockets、SSE或CONNECT。绕过服务器和客户端超时。timeoutclient处理客户端失去连接的

redis - 我应该在 web 节点上运行 haproxy for db 和 redis sentinel 吗?

我正在使用vagrant设置一个服务器集群,并使用Redissentinel和HAProxy进行Postgresql数据库连接(使用pgpool)。我很好奇将haproxy和redissentinel放在我的每个Web服务器节点上并让它们直接连接到这些节点是否有意义。这个想法是,它可以创建到数据库和redis的分布式连接,并将单点故障减少到它们连接到的单个haproxy,然后拆分到不同的数据库节点。我还可以将数据库连接(通过haproxy)和redis(通过sentinel)封装到本地主机。这有意义吗? 最佳答案 只有在您试图节省资

redis - 如何动态设置 HAProxy IP 配置?

我已经使用Kubernetes部署了一个Redis集群。我现在正在尝试使用HAProxy进行负载平衡。HAProxy非常适合负载均衡redis集群,如果你有静态IP。但是,我们在使用kubernetes的时候没有这个。在测试故障转移时,Redis和Kubernetes分别处理新主节点的选举和新pod的部署。但是,kubernetes会为新的pod选择一个新的IP。我们如何将这个新IP注入(inject)HAProxy健康检查并删除旧的主IP?我有以下设置。+----++----++----++----+|W1||W2||W3||W4|Webapplicationservers+----

node.js - 用于 redis 从站的 HAproxy

我们目前使用node_redis客户端访问redis。我需要在redis奴隶前面使用HAProxy,在我的例子中是3个。我安装了HAProxy并将其配置为负载平衡redis从站。但是当我尝试创建从node_redis客户端到HAProxy的连接时,我无法创建连接并且出现错误Error:Redisreplyparsererror:Error:Protocolerror,got"H"asreplytypebyteatHiredisReplyParser.execute(/home/user1/doosra/node-exp/node_modules/redis/lib/parser/hir

linux - Haproxy 中大量的 TIME_WAIT

我们将haproxy1.3.26托管在配备2.13GHzIntelXeon处理器的CentOS5.9机器上,该处理器充当众多服务的http和tcp负载均衡器,峰值吞吐量约为2000个请求/秒。它已经运行了2年,但流量和服务数量都在逐渐增加。我们观察到,即使在重新加载后,旧的haproxy进程仍然存在。在进一步调查中,我们发现旧进程有许多处于TIME_WAIT状态的连接。我们还看到netstat和lsof花费了很长时间。关于引用http://agiletesting.blogspot.in/2013/07/the-mystery-of-stale-haproxy-processes.ht