Articles of haproxy

通过HTTPS获取HAProxy后面的IIS服务器上的客户端IP地址

我们正在设置两台IIS服务器,在运行HAProxy的服务器后面进行负载平衡。 所有到这些服务器的stream量将通过HTTPS。 我们注意到的问题是,所有的stream量正在从HAProxy服务器IPlogin到IIS服务器上。 虽然这在技术上是正确的,但我试图找出如何在IIS服务器上“查看”原始客户端IP地址以进行logging。 我们在HAProxy和IIS上安装了X-Forwarded-For (通过安装F5的X-Forwarded-For ISAPIfilter ),但是这似乎只能帮助通过HTTP进行stream量。 HTTPS仍被logging为来自HAProxy服务器。 谢谢你的帮助!

负载平衡IIS服务器总是粘滞60秒

我有一个负载平衡器设置,其中有两个服务器场,一个在Linux上有3个Apache服务器,另一个有2个IIS服务器。 我在负载均衡器上configuration了两个相同的虚拟服务,一个指向每个服务器场,并设置为循环均衡,没有持久性。 Apache服务器正常工作,但IIS服务器将会话保留60秒,然后将下一个请求发送到下一个服务器。 为了演示这个,我简单地创build了一个显示服务器名称的HTML页面。 当我到达负载均衡器提供的虚拟地址时,当我按下Apache服务器上的刷新时,我会看到服务器1,2,3,1,2,3等。 但是,当我按下刷新去虚拟地址指向IIS服务器时,我仍然在同一台服务器上。 如果我等待60秒,然后刷新我指向其他IIS服务器。 目前我使用的负载均衡器来自Kemp Technologies。 但是,在设置Kemp之前,我使用HAproxy时看到了完全相同的行为。 因此,这似乎是后端服务器上的Windows问题,而不是负载平衡器。 但是,我不太明白这是如何可能的,因为它应该是负载平衡器决定哪个后端服务器将服务请求。 有没有其他人看过这种types的行为? 有什么我可以修改,让我的Windows服务器在一个真正的循环赛时尚平衡? 编辑 – IIS系统上的testing页面运行一个服务器端ASP脚本,用一个简单的ASP脚本<%= now()%>插入当前date/时间。 这使我可以看到页面没有被caching,并在每个请求上被dynamic地重新生成。 这些页面还包含IIS主机名,以便我可以告诉哪个IIS服务器实际上生成了呈现的页面。

负载平衡器,文件合并和MySQL

所以我在这里有三个机架式服务器,主要连接到WWW并有一个公共IP,其运行HAProxy设置为指向另外两个服务器。 另外两个正在运行apache,一个cron rsync作业正在从主控制器服务器上的目录下载Web文件给他们。 这一切工作正常,但是,我目前在控制服务器上运行MySQL,但我希望它像Apache和haproxy系统是工作。 有什么办法做到这一点? 还要说如果用户在wordpress上传一个文件/图像的文章,它只存储在本地服务器上的文件每隔1分钟被rsync覆盖。 我如何做目录的合并? 顺便说一句,所有三个服务器是Ubuntu 10.04服务器 谢谢。

我可以使用haproxy只有一个网卡吗?

我知道haproxy应该有传入的stream量和另一个面向Web服务器的NIC。 但是因为我的所有服务器都在公网上,所以我可以用一个网卡起诉一个简单的专用服务器吗? 主要的问题是:haproxy的性能会受到这个影响吗?

如何向广域网请求出现从前端HAProxy IP,而不是后端服务器IP?

我有一个网站build立这样的事情: |——————-> Apache1 | HAProxy -| | |——————-> Apache2 HAproxy具有外部IP xxxx Apache1有两个接口:内部yyyy(用于来自HAProxy的请求)和外部IP zzzz Apache2有两个接口:内部yy.yy.yy.yy(用于来自HAProxy的请求)和外部IP zz.zz.zz.zz 任何时候,我从一个Apache服务器(例如在PHP中的curl请求,google.com)向农场外发出请求,REMOTE_ADDR头是进行调用的apache服务器的外部IP(yy.yy.yy. yy或zz.zz.zz.zz)。 问题是,有些服务器我提出了限制IP请求的请求。 理想情况下,我想为他们提供HAProxy服务器(xxxx)的IP,而不必为其提供2个后端服务器的IP。 有没有什么办法可以在configurationapache或haproxy中实现这一点?

ha-proxy smtp源码ip

我有haproxy在透明模式下负载平衡两个邮件服务器。 我有一个外发邮件的问题。 接收方看到我们的邮件服务器的IP是haproxy的IP而不是服务器本身。 我需要build议如何解决这个问题,因为其他邮件服务器阻止我们的电子邮件,因为他们将其分类为垃圾邮件 这是我在haproxy上的示例configuration。 listen mail_smtp bind 68.128.XX:25 mode tcp option tcplog balance leastconn source 0.0.0.0 usesrc clientip server mail1 68.138.xx:25 check port 80 inter 3s rise 2 fall 2 server mail2 68.138.xx:25 check port 80 inter 3s rise 2 fall 2 backup

如何将持久连接支持添加到负载平衡的HTTP Web服务

我们正在使用haproxy负载平衡HTTP Web服务。 Web服务通过SSL访问。 这是一个RESTful HTTP服务,只是接受JSON,做了一些工作,并返回JSON。 没有会议的概念。 我们在一对冗余的Web服务器服务器前设置了冗余的负载均衡器。 每个服务器都位于Apache之后,Apache用作代理来处理SSL和日志logging。 如果它很重要,我们的web服务是一个Clojure(Java)应用程序使用compojure(jetty)来处理HTTP。 这是通过我们现有系统显示客户请求path的简图。 client request -> haproxy (load balancing) -> apache (ssl, logging) -> webservice 我们希望与负载平衡器的任何连接build立一个持久连接,然后由同一个服务器为通过该持久连接发送的所有后续请求提供服务。 换句话说,我们不希望持久连接haproxy向多个webservice服务器发送请求。 你会如何build议我们这个工作? 我们如何将一个给定的负载均衡器连接“绑定”到一个特定的Web服务器? 我们如何防止意外加载具有多个密集请求的特定Web服务服务器?

IIS和ASP.NET MVC的固体故障转移?

我们的团队目前正在计划我们下一个看起来很激动人心的大项目! 我们的产品将是一个ASP.NET MVC网站,可以在客户自己的服务器上部署,也可以在我们的服务器上支付一个实例(这将通过在networking上运行的configuration服务自动完成)另一个话题)。 我们不希望在基础设施方面走在顶端,我们不一定需要,所以对于最初的部署,我们希望有2个运行IIS7的Win2k8盒子作为networking盒子。 1个主要的SQL Server 2008数据库服务器作为主服务器运行,而作为从服务器/故障转移服务器的服务器略微less一些。 SQL故障转移不是问题(因为我们是SQL Server的书呆子!) 但是,我们不确定如何实现networking故障转移,因为现在我们不想在早期阶段将两台networking服务器之间的负载分开,而是让它在故障转移之前耐心地等待故障转移。 我已经研究过像HAproxy之类的各种高可用性系统,但并不完全了解如何进行这种configuration。 (我并不是说我们正在寻找HAproxy的build议..这只是我们见过的大浪和ldirectord等系统中的一个。) 我也应该注意到,如果需要的话,我们并不害怕在Linux机器上运行负载平衡器!

设置多个Web应用程序,使用一个IP来响应多个域

我有两个rails webapps,我已经configuration了一个webapp来响应多个域。 我通过将nginx中相应的服务器块设置为默认值来完成此操作。 现在,我甚至想要为其他webapp进程请求定制多个域, 有没有办法使用单个IP地址的机器来做到这一点? (我知道我可以添加一个额外的IP地址,并让其他webapp监听,但我的服务器是在EC2上,所以我不能添加更多的IP地址。) 这两个webapps都知道他们应该回应哪个域名,并且有很多域名。 而且,这些web应用程序需要响应的域将会改变。 所以我不能在nginxconfiguration中对它们进行硬编码。 我的服务器有Ubuntu 10.04。 我已经研究了一下,我认为HAProxy可以做这种路由。 HAProxy ACL可以访问类似redis的东西来查找http请求的目的地吗?

使用DNS和Proxysdynamic路由networkingstream量

我们为我们开发的特定Web应用程序提供了大量的Web服务器。 我们的客户目前使用Alogging将域名或子域名指向我们的服务器之一。 随着我们不断增长,我们需要能够dynamic地将站点移动到不同IP上的不同服务器上,这意味着要求客户端更新他们的DNS,我们不会/不愿意这样做。 dynamic地,我的意思是,如果一台服务器出现故障,我们希望重新生成新服务器上的数据,改变域指向的位置,并在几秒钟/几分钟内使应用程序备份。 我的第一个想法是使用我们的DNS服务器,但许多客户端不能改变他们的NS服务器到我们的。 而且只能将Alogging添加到单个静态IP。 所以我看了一下代理层,像HAProxy可以通过主机名来路由stream量。 这个问题是我需要能够每隔几秒钟添加一个新的域,HAProxy使用一个configuration文件,你必须重新加载服务来应用新的configuration。 每隔几秒钟都不好运行。 无论如何,我可以用代理应用程序或DNS应用程序做到这一点?