Questions tagged «haproxy»

HAProxy是一个开源,非常快速且可靠的解决方案,可为基于TCP和HTTP的应用程序提供高可用性,负载平衡和代理。它特别适合于在需要持久性或Layer7处理的情况下在非常高的负载下进行爬网的网站。

1
后端启动时,HAProxy用NOSRV响应
我有一个奇怪的情况,对我的HAProxy的请求返回了503。HAProxy日志显示它返回了NOSRV错误: Mar 26 19:47:01 localhost haproxy[23910]: 10.0.0.30:34261 [26/Mar/2013:19:46:48.579] fe v2/<NOSRV> 12801/-1/-1/-1/12801 503 212 - - SC-- 0/0/0/0/0 0/0 "GET /path/v2/ HTTP/1.1" 在此期间,后端服务器已确认运行,并且正在从内部负载平衡器接收流量。这件事是自然发生的,没有在HAProxy中进行任何配置或其他更改。重新启动HAProxy可以解决此问题。 有人知道这是否是已知问题吗?感谢您的帮助/见解。 谢谢。 我的配置如下所示: global maxconn 1000 # Total Max Connections. This is dependent on ulimit daemon nbproc 1 # Number of processing cores. Dual Dual-core Opteron is 4 …

5
HAProxy-如何在X-Client-IP和X-Forwarded-For标头中附加客户端IP?
我的HAProxy服务器有问题。我想在标题中转发客户端IP。我几乎做到了,但是有一个有趣的案例,我无法弄清楚。我需要在X-CLIENT-IP和X-FORWARDED-FOR标记的标头的2个地方写入客户端IP。 问题是:当我使用 option http-server-close option forwardfor 在目标服务器上,我在标头X-FORWARDED-FOR = xxx.xxx.xxx.xxx(client ip)中看到,但是没有x-client-ip标头。 当我使用时: option forwardfor header X-Client-IP option http-server-close 在目标服务器上,我看到标头X-CLIENT-IP = xxx.xxx.xxx(客户端IP),但X-FORWARDED-FOR = xxx.xxx.xxx.xxx(HAProxy ip) 我需要在目标标头上看到X-CLIENT-IP和X-FORWARDED-FOR具有客户端IP的价值。 我尝试混合配置 option forwardfor option forwardfor header X-Client-IP option http-server-close 没有效果。我也不能安装任何模块。目标是IIS。 有任何想法吗?:(
10 haproxy 

3
负载平衡DNS服务器:UDP / TCP
我被要求在数据中心重建我们的负载平衡基础架构。 最初的请求是对FTP服务器进行负载平衡。我尝试使用当前的负载均衡器(Piranha / LVS)进行此操作,但没有启动并运行它。不仅仅是因为几乎没有该软件的文档。由于Piranha被认为已弃用,因此我HAProxy尝试了几天后又去了,花了很少的时间完成了这项工作Piranha。 因此,我已经准备好FTP负载平衡(被动模式)。现在,我被要求更换数据中心中的整个Piranha负载均衡器。在当前的Piranha配置中,我们有几个Web服务器,IIS服务器.... aaa和DNS。 不,这是东西: HAProxy似乎是常用的LB,但是它不能处理UDP load balancing。这真是令人讨厌,因为我喜欢这种方式HAProxy。因此,我在Google上搜索了很多东西,并遇到了一些问题。大多数人似乎都将LVS其用作DNS(TCP / UDP)的LB。一些使用dlbDNS,一些使用lbnamed,还有一些使用netfilter / iptables。 因为我想坚持使用HAProxyFTP,HTTP和IIS服务器,所以我对与并列使用它感到困惑LVS。 要求: 具有故障转移的 2 个LB实例具有故障转移的2个DNS服务器(已存在)具有 多个后端服务器(http,应用程序等) 问题: 可能吗?DNS服务器上的UDP负载平衡是否必要?是否有任何资源可以向我展示如何入门?还是有一个LB解决方案不仅能够处理TCP / HTTP,而且还能够处理UDP负载平衡? PS: LB解决方案应为非硬件和开源/ GPL许可/不收费。 任何帮助或导致各自的资源非常感谢!

1
使用haproxy将多个子域定向到单个后端
我正在使用haproxy来为单个服务器上运行的多个应用程序路由。对于正在使用的域之一,应将几十个子域定向到一些应用程序之一。 目前,我在separte行中列出了所有这些子域。我的前端配置如下所示: frontend http-in bind *:80 acl alpha hdr(host) -i alpha.com acl beta hdr(host) -i beta.com acl gamma00 hdr(host) -i apple.gamma.com acl gamma01 hdr(host) -i banana.gamma.com acl gamma02 hdr(host) -i cherry.gamma.com acl gamma03 hdr(host) -i durian.gamma.com acl gamma04 hdr(host) -i elderberry.gamma.com acl gamma05 hdr(host) -i fig.gamma.com acl gamma06 hdr(host) -i …

1
HAProxy运行状况检查:使用httpchk并进行观察?
我将HAProxy 1.4.18与以下后端配置一起使用 backend staging option httpchk HEAD /check.txt HTTP/1.0 http-check disable-on-404 default-server error-limit 1 on-error mark-down server staging01 x.x.x.x:80 check observe layer7 server staging02 x.x.x.x:80 check observe layer7 服务器正在apache / passenger上运行多个应用程序。 httpchk和disable-on-404的组合允许正常关闭并非常轻松地从lb中删除服务器,同时仍然可以直接访问(即用于测试)。 我正在尝试设置观察程序,以便在应用程序无法正常工作时禁用服务器。我已经破坏了staging02上的应用程序配置,因此它始终返回500。在第一个500之后正确地将其标记为DOWN,但是在下一个httpchk处将其标记为UP。 这是日志文件: Server staging/staging02 is DOWN, reason: Health analyze, info: "Detected 1 consecutive errors, last one was: Wrong …
10 haproxy 

4
haproxy +隧道+保持活动?
我想将tunnel放在haproxy 1.4之前,以处理HTTPS流量。我还需要一个隧道来添加X-Forwarded-For标头。这可以通过 haproxy网站上的“ stunnel-4.xx-xforwarded-for.diff” 补丁来实现。 但是,描述中提到: 请注意,此修补程序不适用于keep-alive,... 我的问题是:这对我实际上意味着什么?我不确定 如果这是关于之间的保持活跃 客户和隧道 刺儿和haproxy 或haproxy和后端服务器? 这对性能意味着什么:如果我在一个网页上有100个图标,浏览器是否必须协商100个完整的SSL连接,还是可以仅创建新的TCP连接就重新使用SSL连接?
10 ssl  https  tcp  haproxy  stunnel 

1
针对中小型流量站点的HAProxy的硬件建议
我对设置HAProxy用作一组小型流量Web应用程序的负载平衡器感兴趣。使用量正在增长,并且可能在短期内(大约6个月)变成中等大小。主要是因为有些客户想要自己的专用服务器,而有些则希望尽可能地降低成本,以适应我们似乎需要负载均衡器的情况,因此我们正在寻找负载均衡器。 我看了一下HAProxy的主页和一些博客,但它们确实没有涉及细节,或者是使用Sun服务器进行应用程序的大型站点 在您使用的处理器,内存,存储和发行方面,任何人都建议使用哪种硬件以及哪种发行? 提前致谢

1
HAProxy:多个前端,相同的绑定
配置绑定到HAProxy上同一端口的多个前端是否可行/正确? frontend A bind :80 bind :2000-5000 acl rule_about_A use_backend server_A if rule_about_A frontend B bind :80 acl rule_about_B use_backend server_B if rule_about_B 在这种使用情况下,前端A需要绑定到80并绑定到2000-5000范围。对于前端B,我不想将其绑定到所有这些端口,仅绑定到80。 我以为如果以这种方式配置它看起来会很干净,而不是使用单个前端并使用ACL,但是似乎该配置使HAProxy出现了错误-有时应用正确的规则,有时却应用正确的规则。 在将这些前端作为一个前端加入之前,可以使用绑定到相同端口的多个前端吗? 编辑:顺便说一句,我正在使用HAProxy 1.5
10 haproxy 

2
HA代理-Roundrobin vs Minimumconn
关于何时应该使用roundrobin和何时应该使用有什么建议leastconn吗? 我roundrobin目前正在使用,并且观察到后端服务程序的负载分布不均。当然,可能还有其他问题,但是我们想leastconn尝试一下,但是由于它是关键任务服务器,因此我想在进行更改之前咨询其他经验。 有什么想法要分享吗?

3
如何匹配HAproxy的ACL列表中的通配符主机?
我的haproxy.conf中包含以下几行: acl valid_domains hdr(Host) -i mysite.com images.mysite.com docs.mysite.com admin.mysite.com redirect location http://mysite.com/invalid_domain if !valid_domains 如何匹配任何子域? 我试过了: acl valid_domains hdr(Host) -i *.mysite.com 和: acl valid_domains hdr(Host) -i [a-z]+.mysite.com ...但是都没有奏效。 谢谢

1
如何基于请求URI使用HAproxy 1.6添加响应头?
我将HAproxy 1.6用作Tomcat服务器前的负载平衡器。 我需要基于请求URI添加响应头。 例如,我想Cache-Control public,max-age="600"在请求uri是时添加响应头,/api但在请求uri是其他东西时不添加。 我的第一次尝试是使用基于路径的acl将标头添加到http-response: acl api path_reg ^/api/(.*)$ http-response add-header Cache-Control public,max-age="600" if api 当我使用启动haproxy时-d,我警告说path_reg(或path)与http-response以下版本不兼容: Dec 6 15:22:29 ip-10-30-0-196 haproxy-systemd-wrapper[315]: [WARNING] 340/152229 (2035) : parsing [/etc/haproxy/haproxy.cfg:78] : acl 'api' will never match because it only involves keywords that are incompatible with 'backend http-response header rule' 我尝试添加标头http-request而不是http-response: acl api …

3
是否可以使用多个负载平衡器将流量重定向到我的应用程序服务器?
我是负载平衡的新手,我想知道是否可以使用多个负载平衡器将流量重定向到我的应用程序服务器。我真的不明白该怎么做。域名不应该与某个服务器的IP地址(在这种情况下,是一个负载均衡器的IP)一对一匹配吗?如果每个负载平衡服务器具有不同的IP,两个负载平衡器(或10个负载平衡器或50或100)如何接收请求?

1
HAProxy URL重写404错误
当第一个丢失文件时,如何使HAProxy重写到另一个后端?我需要的errorloc只是重写而不是重定向,因此客户端不知道重定向。 我们开发了一个考虑了NginX的应用程序,该应用程序既平衡了反向代理的负载,又为静态文件提供了Web服务器。应用程序基于Opa框架,该框架需要基于cookie的粘性会话-NginX和HAproxy均支持。我们遇到的应用程序功能是动态内容生成。它按需生成映像,但是生成后将其保存在磁盘上,并且可以使用确定性路径进行静态访问。 使用NginX可以轻松解决问题-仅当文件丢失(尚未生成)时,它才会尝试读取本地文件并使用负载平衡的后端: server { server_name wkaliszu.pl; location /thumb { root /path_on_disk/to_cached_content; expires 7d; # try to access already generated content try_files $uri @wkaliszu; } location / { # reverse proxy to the application [...] } location @wkaliszu { # reverse proxy to the application [...] } } 服务器已迁移,现在使用HAPproxy进行负载平衡,它不是Web服务器,不支持此功能。现在,每当客户端尝试访问资源时,都会执行动态软件生成,这会大大降低速度并浪费资源。如果第一个(静态文件的简单缓存Web服务器)由于错误404而失败,那么它可以使用下一个后端就可以了,但是我找不到一种简单的方法。重定向/thumb到NginX会尝试读取静态文件,然后再次使用新的HTTP标头将其重写为HAproxy,但我想找点更好的方法。
9 nginx  haproxy 

1
使用URL参数通过HAProxy进行负载平衡
我有一个通过Cookie进行负载平衡的系统,但是我想使用URL参数作为替代。(特别是,我有一个不支持cookie的前端应用程序)。我的设置有点复杂-我有一个多人游戏系统,并且使用带有此cookie的棍子桌来确保玩同一游戏的不同人进入同一服务器。这很有效,除了URL参数似乎没有任何作用。这就是haproxy 1.5dev17的全部 我相关的后端是: defaults log global mode http option httplog option dontlognull retries 3 option redispatch option http-server-close maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 backend simulate option httpchk OPTIONS /simulate/api/status stick-table type string len 40 size 5M expire 30m stick store-response set-cookie(SIMULATE_STICKY_SESSION) table simulate stick on cookie(SIMULATE_STICKY_SESSION) table …

2
HAproxy子域重定向
我拥有一个像xyz.com这样的域,并且尝试使用haproxy重定向其他IP的子域。 我在服务器上使用tomcat,并使用haproxy将端口80上的传入请求重定向到端口8080。 Like; www.xyz.com -> 10.0.0.1 www.xyz.com/abc -> 10.0.0.2 or abc.xyz.com -> 10.0.0.2 为了进行此重定向,如何设置haproxy?
9 linux  haproxy 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.