Questions tagged «haproxy»

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

6
如何将HAproxy与SSL结合使用并获取X-Forwarded-For标头,并告诉PHP正在使用SSL?
我有以下设置: (internet) ---> [ pfSense Box ] /-> [ Apache / PHP server ] [running HAproxy] --+--> [ Apache / PHP server ] +--> [ Apache / PHP server ] \-> [ Apache / PHP server ] 对于HTTP请求,这很好用,请求可以很好地分配到我的Apache服务器。对于SSL请求,我让HAproxy使用TCP负载平衡来分发请求,但是它起作用了,因为HAproxy不充当代理,它没有添加X-Forwarded-ForHTTP头,并且Apache / PHP服务器也不知道客户端的真实IP地址。 因此,我stunnel在HAproxy前面添加了内容,阅读了tunnel可以添加X-Forwarded-ForHTTP标头的信息。但是,我可以安装到pfSense中的软件包不会添加此标头...而且,这显然使我无法使用KeepAlive请求,而我确实希望保留该请求。但是,使该想法无效的最大问题是隧道将HTTPS请求转换为纯HTTP请求,因此PHP不知道启用了SSL并试图将其重定向到SSL站点。 如何使用HAproxy在多个SSL服务器上实现负载平衡,从而使这些服务器既知道客户端的IP地址又知道正在使用SSL?如果可能的话,如何在pfSense服务器上做到这一点? 还是应该放弃所有这些,而仅使用nginx?


3
在HAProxy中使用TCP负载平衡时,是否所有出站流量都流经LB?
我正在设置一个使用VM(可能是Amazon,但不是一成不变的)托管的应用,这将需要HTTP负载平衡和大量(持久性)TCP连接的负载平衡(如果可能,则为50k左右)。数据量不是很高,但是更新频繁。 现在,我正在评估负载均衡器,并对HAProxy的架构有些困惑。如果我使用HAProxy平衡TCP连接,是否所有产生的流量都必须流经负载平衡器?如果是这样,其他解决方案(例如LVS甚至Nginx_tcp_proxy_module)是否会更合适?

8
带有HAProxy的远程IP
我正在测试一个新的Web服务器设置,它有几个问题。本质上,我们有一个Web服务器,其中的代码使用远程IP进行一些有趣的事情,还有一些apache目录,这些目录被保护到某些IP(我们的办公室等)。 但是,我们只是在ha_proxy后面添加了这个名称,所以我们可以考虑添加更多的应用服务器,但是现在远程IP总是作为代理ip而不是真正的远程用户通过。这意味着我们无法到达某些位置,并且我们的应用在用户IP重要的地方表现得有些奇怪。 我们的配置如下: global maxconn 4096 pidfile /var/run/haproxy.pid daemon defaults mode http retries 3 option redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen farm xxx.xxx.xxx.xxx:80 mode http cookie GALAXY insert balance roundrobin option httpclose option forwardfor stats enable stats auth username:userpass server app1 xxx.xxx.xxx.xxx:80 maxconn 1 check
19 haproxy 

2
HAProxy HTTP与TCP
HAProxy为您提供了将模式设置为TCP或HTTP的选项。它还允许您设置端口。 那么,如果允许我也选择端口,为什么还要允许我在HTTP和TCP之间进行选择呢?当然,如果我想要HTTP,我可以选择TCP和端口80? 为什么只使用TCP和HTTP?似乎暗示HTTP不是TCP。为什么没有TCP,HTTP,SNMP,FTP等等等。 为什么只是HTTP和TCP?如果HTTP是TCP,为什么有这两个选项?感到非常混乱,而且很难找到有关非HTTP服务负载均衡的任何信息。
17 haproxy 

5
在CentOS 6.3上安装HAProxy?
这是一个奇怪的。 我已经通过CentOS 6安装了EPEL # rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 尝试安装HAProxy: # yum update # yum install haproxy 但收到: Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: ftp.heanet.ie * epel: fedora.mirror.nexicom.net * extras: ftp.heanet.ie * updates: ftp.heanet.ie Setting up Install Process No package haproxy available. Error: Nothing to do …
17 haproxy  rpm  repository  epel 

1
如何使用HAProxy根据主机名转移流量?
HAProxy设置了许多监听其他端口的应用程序服务器,在此方面取得了一些初步的成功。 现在,我有另一个Web服务器正在一个端口上侦听,我想对配置进行哪些更改,以使主机名也可以传输流量。 以下是当前设置,假设: 我的Apache Web服务器在examplecom:8001上运行 我那堆应用服务器0.0.0.0:8081,0.0.0.0:8082,0.0.0.0:8083 global log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 4096 debug #quiet #user haproxy #group haproxy defaults log global mode http option httplog option dontlognull retries 3 redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen appservers 0.0.0.0:80 mode http balance roundrobin option …


2
HAProxy重新加载-旧进程永不终止
我在TCP模式下设置了HAProxy,客户端/服务器/连接超时为120秒。 当我重新加载配置太快时,有时我会遇到多个进程。通过设计,这是预料之中的,因此会耗尽所有已建立的连接。 我的问题是,即使所有连接都已关闭,它们也永远不会终止。 ps aux | hapoxy haproxy 12483 0.0 0.1 103748 1084 ? Ss 20:45 0:00 /usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -sf 12405 haproxy 12485 0.0 0.1 103748 1088 ? Ss 20:45 0:00 /usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -sf 12405 haproxy 12487 0.0 0.1 103748 1084 ? …
15 haproxy 

3
haproxy并将客户端IP地址转发到服务器
我的HAproxy有问题。 我使用HAproxy作为负载平衡器,它将传入的HTTP请求分发到5个Web服务器。通常,使用负载均衡器的IP将客户请求转发到Web服务器。但是我需要从Web服务器请求某些内容的客户端IP或真实IP。因为我们需要记录真实客户端的IP。 我尝试在Web服务器上获取客户端的IP,但是到目前为止我还无法成功。我总是看到负载均衡器的IP。 我使用x-forward-for选项,但无法解决问题。之后,我找到了另一个选项“ source 0.0.0.0:80 usesrc clientip ”,但是在尝试运行HAproxy时遇到了错误,这与HAproxy的USE_TPROXY选项有关的编译需求有关。我做到了,我用USE_TPROXY选项重新编译了HAproxy,但是没有任何改变。我该怎么做才能了解真实客户的IP。 我的Linux内核版本是2.6.32-34,我的意思是内核支持透明代理。我使用UBUNTU 10.4 LTS 我的配置文件在这里 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 source option …
15 haproxy 

2
当没有ACL匹配时,从HAProxy提供404服务
我目前正在使用1.5dev-17重新配置HAProxy。我想做的是在没有后端可用于特定请求时返回404错误。 我们当前的配置使用default_backend路由到我们的django应用服务器,但是当有很多与其他已配置的后端都不匹配的探测请求(如笔测试)时,我们的django服务器会在尝试时停止运行服务这些无效请求,最终返回404。 我想从HAProxy提供404服务,而不是委派给Django后端。我目前正在通过黑客实现这一目标: frontend www ... default_backend nomatch backend nomatch errorfile 503 /var/www/http/404.http 在404.http文件中,我在标题中设置了404状态代码。这可行,但感觉很不对劲。使用HAProxy是否有更好的方法来实现这一目标?还是应该使用常规后端并让该句柄响应404?

1
HAProxy终止SSL还将SSL发送到后端服务器
我想在HAProxy处终止SSL,对标头进行一些操作,重写URL并重新加密流量,然后以SSL的形式发送到后端服务器吗? 我似乎找不到解决方法。我可以完成常规的SSL终止,然后将纯HTTP请求发送到后端。但是我需要将SSL发送到后端。 我希望具有以下功能: 提取x-for-for标头,以获取代理后面的真实客户端IP。 使用cookie实现会话粘性。 做一些URL重写。 使用基于cookie的会话粘性将SSL流量发送到后端。 除非我在haproxy端终止SSL,否则无法完成URL重写。 这里的好人的任何帮助将不胜感激。
14 haproxy 

3
如何使用故障转移设置HAProxy?
我了解,要在HAProxy负载平衡设置上进行故障转移,您需要两台运行HAproxy的计算机(并将其路由到多个Web服务器实例)。但是在这种情况下,例如abcd.com,我们如何将流量分流/路由到2个IP地址而不是一个?DNS通常将域名解析为单个IP。我们如何使用免费/廉价工具/服务来做到这一点?

1
HAProxy-根据URI转发到其他Web服务器
我有一个具有以下配置的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(即/ special)的所有请求转发到第三台Web服务器。我该怎么办?

2
强制HAProxy查找后端服务器的DNS
我有haproxy 1.5.8,它代理一些对我们无法控制的第三方的请求(基于路径)。 由于后端服务器的IP在启动时已解析一次,因此如果IP更改,它将中断。 是否有解决方法?在nginx中,可以声明一个内部变量并将其缓存X秒。我没有找到类似的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.