![](/img/trans.png)
[英]Mixed content issue in using Application Load Balancer (ALB) in AWS
[英]What settings on HAProxy needed to work with AWS ALB (Application Load Balancer)?
目前,我們在mesos-marathon集群中運行了200個容器(幾個不同的應用程序)。 這是HAproxy實例的后面部分,適用於HTTP / HTTPS協議。
Internet - > AWS ELB - > HAProxy - > Docker容器
現在我們需要使一個現有的應用程序在WEBSOCKET協議上運行。 我們正在考慮添加新的AWS ALB來實現這一目標。 因此設置將是
(WebSocket)
Internet --> new AWS ALB --> HAProxy --> Docker containers
(HTTP/S)
Internet --> AWS ELB --> HAProxy --> Docker containers
我們需要做什么設置才能使HAproxy與當前的HTTP / S以及新的WEBSOCKET一起使用?
服務器每個IP地址可以處理65,536個套接字。 因此,通過向服務器添加額外的網絡接口可以輕松擴展數量。 同時,跟蹤服務器上存在的連接數非常重要。 一旦超出限制,您可能會遇到很多其他TCP連接的問題(例如,無法通過ssh連接到服務器)。 因此,在應用程序代碼中限制每個節點的WS連接是個好主意。
要使HAProxy處理超過65k的連接,我們應該通過以下步驟::
通過SSH連接到HAProxy實例並運行以下命令:
$> ifconfig eth0:1 192.168.1.1
$> ifconfig eth0:2 192.168.1.2
$> ifconfig eth0:3 192.168.1.3
這將為實例添加3個虛擬網絡接口。
配置HAProxy。 以下是haproxy.cfg文件中有3個節點接受WS連接的部分:
聽erlang_front:8888
mode http balance roundrobin timeout connect 1s timeout queue 5s timeout server 3600s option httpclose option forwardfor server xxxxx-1 192.168.0.1:8888 source 192.168.1.1 server xxxxx-2 192.168.0.2:8888 source 192.168.1.2 server xxxxx-3 192.168.0.3:8888 source 192.168.1.3
現在,HAProxy可以處理超過65,536個WebSocket連接,並且可以通過添加虛擬網絡接口輕松增加連接限制。 此外,它可以相當快速地建立新的連接。
另請參閱此博客文章
聽起來您可以從使用新的網絡負載均衡器而不是經典的Elastic Load Balancer或應用程序負載均衡器中受益。
NLB可以處理(根據AWS)每秒數百萬的請求,並支持長期連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.