如果我在容器中运行HAProxy(或Nginx)并将其直接安装在主机上,性能和/或稳定性会受到影响吗?
我试图找出处理HTTP请求的dynamic代理的最好方法。 基本上我想以myname .cust.mydomain.com的forms取一个dynamic的主机名,然后把请求转发到一个HTTP主机名为“myname”的HTTP后端服务器。 我一直在试图找出解决这个问题的最好方法,如果HAProxy甚至可以完成任务。 我在想的另一个select就像Lighttpd与LUA甚至Nginx。 任何build议将不胜感激。 谢谢!
我有一个performance不佳的networking应用程序,将大规模扩大应付互联网的重量。 Haproxy将被用来将无状态的web请求传播给许多服务器。 但是,stream量还是有限制的,我想优先考虑真正的用户。 haproxy是否可以configuration为将特定引荐来源url的stream量发送到特定的框? 例如,如果在新闻文章中提到部署的网关,我可以将来自该文章的stream量redirect到一个快速静态的HTML网站,上面写着“谢谢你的兴趣,这是一些信息”。 如果这是可能的,也许有人可以从configuration文件共享一个相关的片段。
我试图围绕haproxy选项 timeout http-request <timeout> timeout http-keep-alive <timeout> timeout server <timeout> 相互作用。 我在一个haproxy负载均衡器后面的两个应用程序服务器上运行Apache网站。 现在我没有保持活着,但我一直在尝试启用它,因为我认为这将有助于优化网站。 我的目标是为浏览器和haproxy之间的连接启用保持连接,但禁用haproxy和apache之间的保持连接。 我完成了这个 option http-server-close 现在我正在考虑设置保持活动超时。 我一直在研究haproxy手册的超时http-request选项,超时http-keep-alive选项和超时服务器选项。 如果我正确理解了手册,超时http-keep-alive是在新请求和超时之间保持连接的时间。http-request是在closures连接之前等待响应头的时间。 但我似乎无法弄清楚什么是超时服务器指定的。 我想说,超时服务器是等待完整响应的时间,但任何人都可以确认吗? 如果我是正确的,超时服务器是等待完整响应的时间,那么我是否正确,它不应该对保持活动超时设置有任何影响? 这是我正在修改的haproxyconfiguration: global maxconn 4096 pidfile /var/run/haproxy.pid daemon defaults mode http retries 3 option redispatch maxconn 5000 timeout connect 5000 timeout client 300000 timeout server 300000 listen HTTP *:80 mode http cookie HTTP […]
我目前正在使用HAProxy为了负载平衡从客户端到我的Erlang应用程序服务器的TCP连接。 连接是持久的,这意味着我被限制在优化的服务器上大概64K的客户端(我目前正在m1.large EC2实例上运行HAProxy)。 我的应用程序服务器旨在根据TCP连接的数量进行水平缩放。 然而,我担心的是,由于它是1:1连接,因此我需要将相同数量的HAProxy服务器作为应用程序服务器。 现在有办法“代理”到应用服务器的tcp连接,所以一旦HAProxy发送客户端到我的Erlang服务器,它可以释放连接,准备服务另一个客户端? 是否有任何文件,现有的解决scheme,我可以读取,所以我只需要担心我的应用程序服务器上的64K限制,而不是在负载平衡服务器本身上?
在我的网站上,我使用Haproxy负载均衡器将用户通过移动设备redirect到移动网站。 我收到了一些抱怨,并希望为用户提供一个链接到“经典”门户。 由于并非所有子页面都以移动格式提供,因此我必须select内容是否可用。 acl path_root path / acl path_mobile path_beg /faq acl site_classic hdr_sub(cookie) CLASSIC= acl ua_smartphone hdr_reg(User-Agent) -i iphone ipod android bada redirect location http://s.tld if path_root ua_smartphone !site_classic redirect prefix http://s.tld if path_mobile ua_smartphone !site_classic 如果用户正在进入顶层目录,则只需redirect该位置。 如果“移动”用户点击包含完整path的移动格式redirect的内容。 迄今为止,这一切正常。 现在,当他/她点击移动版本中设置名为“CLASSIC”的cookie的链接时,我不希望redirect用户。 该cookie设置正确,工作正常。 如果我写下面的redirect工程: acl site_classic hdr_sub(cookie) CLASSIC= redirect location http://s.tld if site_classic 我也尝试了所有可能的方式来检查cookie,例如CLASSIC = 1 […]
我有haproxybuild立keepalived percona集群的负载平衡和IP故障转移,因为它工作得很好,我想使用相同的lb /故障转移为另一个服务/守护进程。 我这样configurationhaproxy: listen my_service 0.0.0.0:4567 mode tcp balance leastconn option tcpka contimeout 500000 clitimeout 500000 srvtimeout 500000 server host1 xxx.xxx.xxx.xx1:4567 check port 4567 inter 5000 rise 3 fall 3 server host2 xxx.xxx.xxx.xx2:4567 check port 4567 inter 5000 rise 3 fall 3 负载平衡工作正常,但服务看到负载平衡器的IP而不是客户端的实际IP。 在http模式下,haproxy通过远程IP很容易,但是如何在tcp模式下执行? 由于我需要负载平衡的服务的性质,这是至关重要的。 谢谢! 维托
我有haproxy为我们工作。 但现在有两个haproxy进程正在运行。 一个用于HTTP,另一个用于TCP(RTMP)。 我已经尝试在一个configuration文件中configuration两个代理,但haproxy只处理HTTP。 我的configuration文件: global log 127.0.0.1 local0 log 127.0.0.1 local1 notice #daemon debug user haproxy group haproxy maxconn 4096 defaults log global mode tcp option tcplog option dontlognull option redispatch retries 3 maxconn 2000 contimeout 10000 clitimeout 50000 srvtimeout 50000 listen http :80 mode tcp balance roundrobin server h1 xxx.xxx.xxx.xxx:80 check server h2 […]
我有一个应用程序,客户端通过基于TLS / SSL的简单TCP协议连接到服务器。 在开发过程中,在我们构build应用程序的过程中,这已经运行了好几个月。 最近,当我们准备启动时,我已经提前将HAProxy添加到混合中,以便实现一些负载分配的顺序。 从技术上讲,一切都是有效的,但问题是,客户现在看到了完全随机的超时。 它们通常不一致,但发生时间大约为60秒。 有时会在25秒后发生。 haproxy转发TCP连接的服务器来通知并做一个干净的断开连接,问题是你不希望大量的同时连接中断和重新连接,没有任何理由反复。 除了其他方面之外,这对我们的发布/订阅基础设施也有影响。 客户很聪明,可以马上重新连接 – 但是这不是我们想要的行为。 负责通过SSL接受这些TCP连接的服务器不需要保持活动状态。 我将继续,并假设有一些隐含的价值,我没有看到我的HAProxyconfiguration造成这些随机超时,或需要一个TCP保持活着的东西。 事实上,超时并不总是一致的,但是,让我怀疑,否则。 如果每一次我都相信这是一个configuration问题,那么这个点就是60秒。 在这种情况下,并不总是60秒。 以下是我现在的configuration: global stats socket /home/haproxy/status user haproxy group haproxy log 127.0.0.1 local1 info # log 127.0.0.1 local5 info maxconn 4096 ulimit-n 8250 # typically: /home/haproxy chroot /home/haproxy user haproxy group haproxy daemon quiet pidfile /home/haproxy/haproxy.pid defaults log […]
通过DFS拉我的头发后,我只是有这个奇怪的和潜在的危险的想法进入我的头,只是可能,我可能能够使用HA代理负载平衡服务器之间的文件共享。 我已经做了一些补救性的数据包跟踪,它似乎是TCP端口445是唯一参与使用Windows文件共享。 我一直认为多年来,UDP 139,135等也至less涉及build立连接 – 但显然不是! 所以我设置了一个基本的testing: listen SMBTest *:445 mode tcp server Smb1 172.16.61.201:445 server Smb2 172.16.61.202:445 而你永远不会猜测什么…它的作品? (!) 现在显然是有关文件服务器之间的同步(当然)的整体关切。 这可以很容易地与一点点的Robocopy脚本照顾。 考虑到我只需要一个HA只读文件共享,就不会有任何关于文件locking等问题。 谁能告诉我,我在这里玩的是火吗? 我真的不认为它会起作用,现在我有点震惊。 缺点是什么? 这可以依靠生产环境吗?