Articles of haproxy

带dynamic路由的代理服务器

我想代理一个子域的请求到一个免费的后端服务器。 每个子域都有几个相关的后端服务器: 例如 sub1.example.com => (192.168.0.1:8000, 192.168.0.2:9000, 192.168.0.3:10000) sub2.example.com => (192.168.0.1:8001, 192.168.0.2:9001, 192.168.0.3:10001) sub3.example.com => (192.168.0.1:8002, 192.168.0.2:9002, 192.168.0.3:10002) 现在我试图将sub1.example.com的所有请求都委托给关联服务器列表中的一台服务器。 该列表不是静态的。 新的服务器可以dynamic添加,死的可以立即删除。 我认为这是第一次可以依靠循环来select匹配的后端服务器。 我试图修改nginx做这个工作,但没有成功。 我不确定haproxy是否可以处理后端和前端服务器的dynamic列表? perlbal不能根据请求主机与后端服务器select路由文件。 在此先感谢,Marc

高可用性代理和灾难恢复 – 只有在其他人closures的情况下访问服务器?

为什么我期望这不是解决问题的最好方法,我今晚想到了。 我正在考虑地理定位服务器。 鉴于我们有负载平衡器+两台服务器来处理北美(北美)和欧盟的一台服务器的stream量。 如果两台美国服务器死亡,是否有可能让HAProxy自动将stream量引导至欧盟。 但是,我不希望对欧盟使用循环法,而只是美国的两个法。 欧盟应该只在其他两个下来时被打。 有谁知道如何configurationHAProxy来做到这一点? 谢谢 本

通过HAProxy标准化接受编码以优化鱿鱼命中率

我们的网站基础架构使用HAProxy进行负载平衡,Squid群集进行caching,应用程序数据位于IIS群集上。 我们通过URI来平衡HAProxy来优化Squid命中率,但是我们知道Squid基于浏览器传递给它的Accept-Encoding头来保存每个页面的不同副本,所以IE(gzip,deflate)将会拥有与Firefox(gzip,deflate)或Chrome(gzip,deflate,sdch)不同的caching页面副本。 我们想规范Accept-Encoding头文件,我认为最好的地方是在HAProxy中。 我会很感激,如果有人可以提供一些想法如何做到这一点,而不打破支持客户端没有gzip或deflate支持。

去哪里找一个具有自动缩放function的TCP软件负载平衡器?

我们有一个在AWS EC2实例上运行的交互式Flash应用程序。 一个实例可以处理100到200个用户。 我们预计时代将会出现大幅增长和猛虎效应。 为了做好准备而不是过度准备,我们需要一个自动缩放的负载均衡解决scheme。 我们尝试了Elastic Load Balancer,但它似乎不适用于我们的应用程序。 我们遇到很多和早期的TCP断开连接。 现在最好的解决scheme似乎是haproxy,但它不符合我们的自动缩放要求。 我们喜欢有更多的可编程/脚本。 我们需要经常添加或删除后端服务器。 我想知道是否有其他的,也许更好的解决scheme。

HaProxy + IIS页面逐渐变慢

我们有我们的HaProxy W / IIS和ColdFusion设置的问题。 设置工作正常,但页面逐步退化的响应时间从2-3秒到3-4分钟。 奇怪的是,重新启动的IIS修复了这个问题,页面再次飞行。 有人看过这种行为吗? 下面是我们在HaProxy上的configuration文件。 全球 日志127.0.0.1 local0 日志127.0.0.1 local1通知 #log日志主机local0信息 maxconn 4096 #debugging #安静 用户haproxy 组haproxy 默认 日志全球 模式http 选项httplog 选项dontlognull 重试3 再调度 maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 统计uri / monitor 听webfarm 绑定:80,:443 模式tcp 平衡来源 #cookie SERVERID插入间接 #option httpclose #option forwardfor #option httpchk HEAD /check.txt HTTP / 1.0 […]

您的集群节点之间的防火墙在后端进行通信有多严格?

我有一个使用HAProxy的群集中的3个Apache服务器。 目前,我允许在3台服务器之间的后端IP上的所有stream量 – 我想只允许在HTTP端口(和memcached端口)上的内部数据包 – 这是顶部? 安全性好处是否超出了性能影响(是否有一个?)。 据我所知,加强防火墙之间的私人防火墙只会有利于从前端侵入其中一台服务器,从而阻碍攻击者在内部可以做的事情。 你是做什么? 谢谢

Haproxy转发邮件

我有一个问题,我试图通过Haproxy转发邮件,但完全不同的服务器。 我遇到的问题是有多个后端都去不同的地方和不同的网站。 我目前使用下面的监听configuration来做到这一点,但是我知道hdr_sub(主机)没有获得正确的信息,以获得电子邮件到预定的目的地。 listen Mail_Handler mode tcp bind :25 # Set timeouts timeout client 15s timeout connect 30s timeout server 30s rate-limit sessions 30 ################## ACL Handlers #################### acl domain1.com hdr_sub(host) -i domain1.com acl domain2.com hdr_sub(host) -i domain2.com use_backend domain1.com if domain1.com use_backend domain2.com if domain2.com 因此,例如我有domain1.com和domain2.com和MXloggingdomain1.com是 0 domain1.com 如何确保发送到domain1.com的MX处理程序的邮件实际上到达domain1.com,并且与domain2.com相同。 我也过滤邮件服务器,以防止潜在的攻击者获得真正的IP 有什么具体的头我可以使用,这将使我可以确定邮件的目的地? 或者任何其他方式做这个? 如果这是我使用Haproxy 1.4的任何好处 […]

ec2和haproxy,当定义服务器节点时,我有什么select,通过内部/外部IP?

在设置haproxy的时候,显然你必须设置你想参与循环赛的web服务器。 用ec2,我知道你得到一个随机分配的内部IP地址,你也可以附加一个公共IP地址,如果你想。 如果我使用内部IP地址,并且出于任何原因我重新启动我的实例,我相信我可能会得到另一个内部IP地址。 我有什么select来解决这个问题?

haproxy虚拟主机问题

这个configuration是为了把人们发送给Node,除非它是一个.gif,.jpg等等,但是它似乎不工作(它总是把它们发送给Nginx): frontend all 0.0.0.0:80 timeout client 86400000 # … unless they're on websockets, which Nginx can't handle acl is_websocket hdr(Upgrade) -i WebSocket acl is_websocket hdr_beg(Host) -i ws # static assets acl url_static path_end .jpg .jpeg .gif .png .ico .pdf .js .css .flv .swf acl is_domain hdr_end(host) -i SUB.DOMAIN.com # … or are using Socket.io, which […]

HAProxy reqirep设置导致504网关超时

我试图通过HAProxy重写单个path。 没有适当的规则,目录页面(从IIS节点)返回404。 一旦添加规则,一分钟左右后,页面会返回504网关超时。 backend Example_Backend balance uri reqirep ^([^\ ]*)\ (.*)/directory/?[\ ] \1\ \2/target.asp\ server Server1 xxxxx4:80 weight 25 check fall 10 rise 2 maxconn 40 server Server2 xxxxx5:80 weight 25 check fall 10 rise 2 maxconn 40 server Server3 xxxxx6:80 weight 25 check fall 10 rise 2 maxconn 40 server Server4 xxxxx7:80 weight 25 […]