Articles of 负载均衡

使用负载平衡路由器使用Forefront TMG

我们有一个TP-Link负载均衡路由器(TL-R480T),但是它的URLfilter不支持HTTPS调用,所以基本上是没用的。 我所考虑的解决scheme是在我的一台服务器上设置Forefront TMG,并将其用作防火墙。 问题是负载均衡路由器现在是我的网关,但TMG也需要configuration为我的网关。 有没有办法让这个工作? 如果没有,你有更好的build议吗? 提前非常感谢!

负载平衡/代理后端与跨地点的数据

我正在寻找一个设置,我将有多个地区的服务器和数据库(数据不跨区域复制,但独立)。 理想的stream程是: – 用户向api.domain.com发出请求 – 代理/负载均衡器确定哪个位置包含用户数据/用户相关数据(理想情况下,对照用户会话caching) – 代理将请求路由到location1.api.domain.com – 理想情况下,location1.api.domain.com也将通过此服务进行负载平衡,或者独立进行(例如AWS Beanstalk) 我正在看HAProxy似乎支持自定义路由,但你有围绕这样的设置或一些文章/自定义路由的例子有任何提示? 如果这是一个很好的解决scheme。 相关的问题build议使用HAProxy: 如何为自定义路由configuration反向代理/负载均衡器

NGINX IP透明度SSLstream

我正在用NGINX设置一个服务器集群作为负载均衡器。 所有请求都通过HTTPS进行,因此负载均衡器使用直接将请求传递到具有stream(SSL传递)的群集。 我需要terminal服务器来查看客户端IP而不是负载均衡器IP。 我的nginx.conf ## Misc other config stuff stream { map $ssl_preread_server_name $backend_cluster_map { site.a cluster_1; site.b cluster_2; default cluster_1; } upstream cluster_1 { server 10.0.0.202:443; server 10.0.0.203:443; } upstream cluster_2 { server 10.0.0.204:443; server 10.0.0.205:443; } server { listen 443; proxy_pass $backend_cluster_map; ssl_preread on; } } 我试图改变服务器块,以包括proxy_set_header转发IP,但没有通过nginxtesting,说明proxy_set_header directive is not allowed here 。 […]

Apache2可以在超时后自动重试另一个平衡器成员吗?

我正在使用我的负载均衡器进行反向代理,部分configuration文件如下所示。 但是,与某些BalanceMember的连接并不稳定(如1.2.3.1 ),并且超时会使客户端收到502代理错误。 无论如何,我可以让平衡器自动重试另一个平衡成员,如1.2.3.4 ,这样即使请求时间可能更长,客户端也不会收到错误? <Proxy balancer://mybalancer> BalancerMember http://1.2.3.1/ loadfactor=1 timeout=1 BalancerMember http://1.2.3.2/ loadfactor=1 timeout=1 BalancerMember http://1.2.3.3/ loadfactor=2 timeout=1 BalancerMember http://1.2.3.4/ loadfactor=2 timeout=1 ProxySet lbmethod=bytraffic </Proxy>

AWS负载平衡器HTTPS不起作用

我正在尝试使用AWS ELB服务进行SSL卸载。 问题是,虽然HTTP通过负载平衡器顺利进行,HTTPS以某种方式不起作用,并在FireFox中给出“您的连接不安全” 这是设置: 1 Load Balancer(for SSL offloading and to enable AWS shield (DDOS protection)) –> 1 EC2 server <–> 1 DB server 我如何configuration它: Load balancer with listener on port 80 and 443. target group with ONLY port 80 enabled. Security group with port 80 and 443 on both load balancer and EC2 instance. […]

引入负载平衡器时,Apache插槽耗尽

我有一个Web应用程序,看起来像这样: WEB SERVER (PHP, Apache) -> MYSQL NODE 这个工作完全没有任何问题,并已经做了很长一段时间。 但是,当我引入一个负载平衡器(我已经使用HAProxy和ProxySQL,两者具有相同的结果行为)来pipe理对我的数据库集群的请求时,我遇到了Apache拖延的一些问题。 负载均衡器与apache一起安装在Web服务器上,并通过系统的环回设备访问。 明确地说,Web应用程序将数据库调用设置为127.0.0.1:3306 ,这是负载平衡器侦听的地方。 为了简化事情,这是我的新设置: [WEB SERVER (PHP, Apache) -> LOAD BALANCER] -> MYSQL NODE 当负荷变大时,这就是我所看到的: PROMPT~] apachectl status … … WWWWWWWWWWWWWWWWWRWWRRWWWWWWWWWWWWWRWRWWWWWWWWWWRWWWWWRWWWWWWWWR WWWWWWWWWWWWWWWWWWWWWWWWWWRWWRWWWWWWWWRWWWWWWWWWWCWWWWWRWWWWWWWW WWWWWWWWRWWWWRWRWWRRWWWCWWWRWWWWWWWWRWWWWWWWWWWWWWWRWWWRWWWWWWWW WWWWWWWWWWRWRWWCWWWWWWRRWRWWWWRCWWWWWWWWWWWRWWWWWWWRWRWWWW 多个负载平衡器发生这一事实表明,这个问题是更一般的,可能与操作系统有关。 我看不到由Apache,负载均衡器或数据库报告的错误。 操作系统指标,如CPU和内存看起来没问题。 在这个问题出现的时候,我确实看到了下面的情况: TCP套接字的数量 Apache进程的数量 我觉得我可能在这里错过了一些东西,并会感谢任何build议。 谢谢

Nginx(负载均衡器)< – > Apache Web服务器问题 – 错误的虚拟主机内容

在某些情况下,我使用nginx作为负载平衡器。 这是… 我有两个Apache的虚拟主机,它们是两个不同的networking应用程序, vhost.com和vhost.org ,它们在相同的端口8888上进行监听。 我在nginx上创build了这些虚拟主机,监听端口80的stream量正在被转发到Apache。 这是一个vhost.com的例子。 upstream local { server vhost.com:8888; } server { listen ***.***.***.***:80; server_name vhost.com www.vhost.com; if ($host = "vhost.com") { return 301 http://www.$host$request_uri; } location / { proxy_pass http://local$request_uri; } error_log /var/www/nginx_logs/vhost.com.error.log; access_log /var/www/nginx_logs/vhost.com.access.log; } 问题是,当我请求vhost.com它从vhost.org主机返回内容。 我在哪里犯错了?

Apache负载平衡器粘性,但仍然具有高可用性

我有一个Apache 2.4设置,看起来像这样: Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED <Proxy balancer://pool1> BalancerMember http://server1:8099 route=1 BalancerMember http://server2:8099 route=2 ProxySet failonstatus=500,503 stickysession=ROUTEID </Proxy> RewriteRule ^/api/(.*)$ balancer://pool1/$1 [P] 我最近才添加了粘性( stickysession=ROUTEID等),我发现现在的粘性工作,但我已经失去了高可用性。 换句话说,如果其中一台服务器不再回复请求,则不会再从池中取出。 如果用户的信息已连接到该服务器,则用户将得到503错误。 什么是适当的设置兼具粘性和高可用性? 请注意,粘性不需要100%正确,我使用它来更好地使用本地caching。 如果来自用户的后续请求转到另一台机器上,那将会起作用,但速度会变慢。

使用Nginx作为具有虚拟主机的Apache服务器的负载平衡器

下面的附加图像代表了我正在构build的应用程序堆栈。 Apache节点是彼此完全相同的副本,并且每个节点都服务于相同的虚拟主机,比如example1.com,example2.com和example3.com。 此外,对于具有数据库后端的Apache节点服务的虚拟主机,数据库将托pipe在Galera集群节点上。 所有这些节点都运行Ubuntu 16.06。 到目前为止,我已经能够成功configuration这个设置的大部分,除了我似乎无法通过Nginx Web负载均衡器传递主机名。 例如,当我去example1.com(并不断刷新),我可以看到,应用程序交付正确地从每个Apache节点交替。 但是当我去example2.com时,仍然显示example1.com。 这不是我的本地/etc/hosts文件的问题。 我相信这是因为我没有正确configurationNginx负载均衡器来传递主机名,以便Apache节点解释它。 这里是我的3个nginx服务器块链接在sites-enabled #/etc/nginx/sites-enabled/example1.dev upstream example1 { least_conn; server do.webserver1:80; server do.webserver2:80; } server { listen 80; server_name example1.dev; location / { proxy_pass http://example1; } } #/etc/nginx/sites-enabled/example2.dev upstream example2 { least_conn; server do.webserver1:80; server do.webserver2:80; } server { listen 80; server_name example2.dev; location / { proxy_pass […]

Tomcat负载平衡 – select高效的工作者

我只是了解Apache / Tomcat中的集群和负载平衡。 我想知道Apache如何select要服务的工作人员。 它是基于每个Tomcat工作者的Xmx消耗量吗? 还是基于最后的请求如何被篡改? 谢谢。