我有一个HAproxy的问题。 我使用HAproxy作为负载平衡器,将传入的http请求分配给5个Web服务器。 通常客户端请求会通过负载均衡器的IP转发到Web服务器。 但是我需要客户IP或真正的IP从Web服务器请求一些东西。 因为我们需要logging真实客户端的IP。 我尝试在Web服务器上获取客户端的IP,但是我现在还不能成功。 总是看到负载均衡器的IP。 我使用x-forward-for选项,但没有解决问题。 之后,我发现另一个选项“ 源0.0.0.0:80 usesrc clientip ”,但我试图运行HAproxy这是关于编译需要与HAproxy的USE_TPROXY选项的eror。 我做到了,我用USE_TPROXY选项重新编译HAproxy,但不会改变任何东西。 我能做些什么来学习真实的客户IP。 我的linux内核版本是2.6.32-34我的意思是内核支持透明代理。 我使用UBUNTU 10.4 LTS 我的configuration文件在这里 global maxconn 100000 uid 99 gid 99 daemon defaults option forwardfor except 127.0.0.1 mode http (1)source 0.0.0.0:80 interface hdr_ip(x-forwarded-for,-1) (2)source 0.0.0.0:80 usesrc clientip contimeout 5000 clitimeout 50000 srvtimeout 50000 listen myWeb 0.0.0.0:80 mode http balance […]
我有以下设置: |——-|— backend1:8080 example.com:80—|HAProxy|— backend2:8080 |——-|— backend3:8080 我想configurationHAProxy添加一个包含原始URL的自定义标题。 例如,如果用户请求http://example.com/foo?bar=baz ,即: GET /foo?bar=baz HTTP/1.1 Host: example.com:80 我希望HAProxy把这个请求翻译成后端,就像这样: GET /foo?bar=baz HTTP/1.1 Host: backend1:8080 x-custom-header: http://example.com/foo?bar=baz reqadd选项只允许我添加一个静态值的头。 我能够使用reqrep从请求中获取path部分: reqrep ^([^\ ]*)\ ([^\ ]*)\ (HTTP\/1\.[10]) \0\r\nx-custom-header:\ \2 但不幸的是,这只捕获原始url的path部分导致以下标题: x-custom-header: /foo?bar=baz 所以我的问题是在HAProxy 1.4中是否可以将Host头和HTTP请求的第一行组合成一个自定义头
我想在haproxy 1.4之前joinstunnel来处理HTTPSstream量。 我还需要stunnel添加X-Forwarded-For头。 这可以通过haproxy网站上的“stunnel-4.xx-xforwarded-for.diff” 补丁来实现。 但是,描述中提到: 请注意,此修补程序不保持活着,… 我的问题是:这对我来说意味着什么? 我不确定, 如果这是关于保持之间 客户和stunnel stunnel和haproxy 或haproxy和后端服务器? 这对于性能意味着什么:如果我在网页上有100个图标,浏览器将不得不协商100个完整的SSL连接,还是可以重新使用SSL连接,创build新的TCP连接?
我被要求重build数据中心的负载均衡基础设施。 最初的请求是负载平衡FTP服务器。 我试图用当前的负载平衡器( Piranha / LVS ),但没有得到它启动和运行。 不仅仅是因为这个软件几乎没有任何文档。 由于Piranha被视为不赞成使用,经过几天的尝试后,我去了HAProxy ,这在一小部分时间花在Piranha 。 所以我有FTP负载平衡(被动模式)。 现在,我被要求更换数据中心的整个食人鱼负载平衡器。 在目前的食人鱼configuration中,我们有几个Web服务器,IIS服务器…. aaa和DNS 。 没有这个东西: HAProxy似乎是一个常用的LB,但它不能处理UDP load balancing 。 这是一个无赖,因为我喜欢HAProxy工作原理。 所以我search了很多,并遇到了几件事情。 大多数人似乎使用LVS作为DNS(TCP / UDP)的LB。 有的使用dlbDNS ,有的使用lbnamed ,有的使用netfilter / iptables 。 因为我想坚持使用FTP,HTTP,IIS服务器的HAProxy ,所以我很困惑与LVS并肩使用它。 要求: 2个具有故障转移的LB实例 2个DNS服务器(已经存在)和故障转移 多个后端服务器(http,应用程序等) 问题: 这可能吗? DNS服务器上的UDP负载均衡是否必要? 有没有什么资源可以告诉我如何开始呢? 还是有一个LB解决scheme,不仅能够处理TCP / HTTP,而且还有UDP负载平衡? PS: LB解决scheme应该是非硬件和开源/ GPL许可证/免费的。 任何帮助或导致各自的资源非常感谢!
负载平衡器设有两个后端。 请求URI将如下所示: http://example.com/answers/submit http://example.com/tag-02/answers/submit 如何configurationhaproxy,使得请求被发送到两个后端中的一个或另一个,具体取决于请求URI的格式? 请求URI中的唯一区别是/tag-02/ 。 一个haproxyconfiguration文件这一点有点解释将不胜感激,因为我是haproxy新手。
我有一个具有以下configuration的HTTP服务器场: listen webfarm 10.254.23.225:80 mode http balance roundrobin cookie SERVERID insert option httpclose option forwardfor option httpchk HEAD /check.txt HTTP/1.0 server webA 10.254.23.4:80 cookie A check server webB 10.248.23.128:80 cookie B check 我想添加一些选项,将一个特定的URI(即/特殊)的所有请求转发到第三个Web服务器。 我应该怎么做?
我明白,要在HAProxy负载均衡设置上获得故障转移,您需要两台运行HAproxy的机器(并将其路由到多个Web服务器实例)。 但在这种情况下,说abcd.com,我们如何将这个stream量分割/路由到2个IP地址而不是一个? DNS通常将域名parsing为单个IP。 我们如何使用免费/便宜的工具/服务来做到这一点?
尝试做标题中所说的:保持高负载下的现有会话,并为新到访客提供503消息。 问题:它工作,但会议不会持续约90秒。 目前的结果让我想知道是否有超时设置我错过了。 目的 我试图让haproxy: 当前端的会话总数低于一定的阈值时,将新会话的请求发送到后端-001。 当前端的会话总数超过该阈值时,向新会话提供503错误 即使会话数量超过阈值,也允许请求现有会话 通过这种方式,处于填写多步骤forms的访问者不会因为503错误而感到惊讶,并且新的访问者可以被告知“请稍后再来,因为我们现在真的很忙”。 build立 设置如下: {visitors} ↓ [haproxy] ↓ [rails app on unicorn served by nginx] (right now just one backend: 'backend-001') 目前的做法 为了达到上述目的,我使用下面的configuration。 这是一个非常低的限制(前端10个连接(fe_conn gt 10)),以便于testing。 为了使服务器承受一些负载,我使用httperf如下: httperf –hog –server staging.machine.tld –uri / do_some_things –wsess = 500,10,30 –rate 2 global daemon maxconn 10000 defaults mode http timeout connect […]
HAProxy使您可以select将模式设置为TCP或HTTP。 它也允许你设置端口。 那为什么让我在HTTP和TCP之间进行select,是否让我select了端口呢? 当然,如果我想要HTTP,我可以selectTCP和端口80? 为什么只有TCP和HTTP? 这似乎意味着HTTP不是TCP。 为什么不能有TCP,HTTP,SNMP,FTP等等等等。 为什么只是HTTP和TCP? 为什么有这些选项,如果HTTP是TCP? 发现它非常混乱,而且很难find任何关于负载均衡非http服务的信息。
似乎没有类似的问题已经发布,所以我会继续问。 我正在从一个项目中获益,这个项目可以从有两到四台服务器处理传入请求到后端Web服务。 该服务不需要SSL,但需要支持偶尔长时间运行的进程(长达120秒)。 目前该项目没有资金购买硬件负载平衡解决scheme。 我以前使用HAProxy作为解决scheme,并发现它非常简单和直接。 是否有类似的产品Windows(服务器2003年或2008年),它提供了类似的configuration选项,并作为轻量级服务运行? 由于我的控制之外的原因,我不能设置Linux机器(物理或虚拟),所以我正在寻找可以部署在Windows机器上的行为。 我只能findPerlbal似乎属于这个类别。 所以为了不打算保持这样的开放,我会把功劳归于唯一的答案。