标签: load-balancing

防止拒绝服务攻击的最佳技术是什么?

目前,我一直在使用(D)DoS-Deflate来管理大量远程服务器上的此类情况,并使用Apache JMeter进行负载测试。

总的来说,它运行得相当好,尽管我想听听在这种情况下工作时间比我长的大师们的一些建议。我相信那些在网络托管业务中工作的人在处理这些情况方面有相当的份额。所以我想知道在企业环境中处理这类问题的最佳实践是什么?

denial-of-service jmeter load-balancing

9
推荐指数
1
解决办法
1769
查看次数

为什么没有水平可扩展的软件负载平衡器平衡 ssl 的例子?

我有一堆关于 ssl、本地会话和负载平衡的问题,它们似乎是相互关联的,所以我提前为这个问题的长度道歉。

我有一个使用基于文件的会话的网站。该站点的性质是大部分是http,但有些部分是ssl。目前,由于基于文件的会话,任何 ssl 请求都需要与以前的任何 http 请求访问相同的服务器。

由于时间限制,我想做最简单的事情来负载平衡增加的 http 和 ssl 流量。

粘性负载平衡算法似乎有两种选择:

  • 基于IP
  • 基于cookie

基于 ip 的解决方案可能会起作用,但散列算法可能会在服务器关闭或添加时更改用户访问的服务器,这对于当前基于文件的会话设置是不合需要的。我还假设用户在浏览网站时合法地更改 ip 在技术上是可能的。

基于 cookie 的算法似乎更好,但是在通过 ssl 加密时无法检查 cookie 似乎存在其自身的问题。

我一直在搜索有关如何对 ssl 进行负载平衡的示例,但似乎找不到任何明确的设置示例,这些示例可以执行基于 cookie 的负载平衡,并且可以通过添加另一个 ssl 解码器来处理增加的 ssl 负载。

我见过的大多数显式示例都有位于浏览器客户端和负载均衡器之间的 ssl 解码器(通常是硬件、apache_mod_ssl 或 nginx)。这些示例通常看起来像这样(从http://haproxy.1wt.eu/download/1.3/doc/architecture.txt修改):

      192.168.1.1 192.168.1.11-192.168.1.14
 -------+-----------+-----+-----+-----+
        | | | | |       
     +--+--+ +-+-+ +-+-+ +-+-+ +-+-+    
     | LB1 | | 一个 | | 乙 | | C | | D |    
     +-----+ +---+ +---+ +---+ +---+    
     apache 4 便宜的网络服务器
     mod_ssl …

ssl nginx load-balancing haproxy

9
推荐指数
2
解决办法
3524
查看次数

使用 NameVirtualHosts 并重定向到 www 时,我应该如何配置我的 ELB 运行状况检查?

我的 ELB 不断使我的实例停止服务,因为 HTTP 运行状况检查失败。

我们有一个 DNS 通配符,并将所有内容重定向到 www:

虚拟主机.conf:

ServerName www.example.com
ServerAlias *.example.com
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ http://www.example.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

这适用于实际浏览器,但对 / 的 HTTP 健康检查失败,大概是因为它得到了 302。

是使用 TCP 健康检查的最佳选择,还是有办法让 HTTP 工作?

load-balancing healthcheck amazon-web-services apache-2.2

9
推荐指数
1
解决办法
2万
查看次数

HAproxy 503 Service Unavailable 没有可用的服务器来处理这个请求

我是这种负载平衡方案的新手,我的任务是弄清楚如何使这种负载平衡起作用。

我的环境:

Centos 6.4 64 Bit
Webserver: Lighttpd
All running in ESXI
virtual IP: 192.168.1.6
LB1: 192.168.1.4
LB2: 192.168.1.5
Webserver 1: 192.168.1.12
Webserver 2: 192.168.1.13
Gateway: 192.168.1.1
Run Code Online (Sandbox Code Playgroud)

尝试在使用 HAproxy 和 keepalived 生产之前在实验室中运行测试。这是我的 keepalived 设置:

!keepalived的配置文件

global_defs {
   notification_email {
     myemail@gmail.com
   }
   notification_email_from keepalived@domain.local
   smtp_server 192.168.1.4
   smtp_connect_timeout 30
   router_id 192.168.1.1
}

vrrp_script chk_haproxy {
script "killall -0 haproxy"
interval 1                     # check every second
weight 2                       # add 2 points of prio if OK
}

vrrp_instance VI_1 {
    state MASTER
    interface …
Run Code Online (Sandbox Code Playgroud)

load-balancing lighttpd haproxy keepalived centos6.4

9
推荐指数
2
解决办法
10万
查看次数

为超过 64k 个 websocket 扩展 HAProxy

我们正在尝试设计一种能够处理超过 64k 个 websocket 的架构。

我们首先尝试使用 Amazon ELB,但它的设计不允许意外的流量激增或 websocket。(TCP 模式意外超时 websockets)

使用 HAProxy,这些限制不适用,但我们将被限制在 HA 和后端服务器之间维护的 ~64k websockets。

想到的多种解决方案:

  • 多个 HAProxy 实例,使用 DNS 进行负载均衡(Route53 有一个加权选项)
  • 两个带有 Keepalived 的 HAProxy 实例,多个内部 IP 地址(不确定是否可行)

有一个更好的方法吗 ?

domain-name-system scalability load-balancing haproxy websocket

9
推荐指数
1
解决办法
1702
查看次数

像 Youtube 这样的大公司如何只用一个 IP 来平衡流量?

检查A记录youtube.com(例如),我只看到一个 IP 地址。

考虑到他们处理的流量,这怎么可能?

他们是否使用带有负载均衡器的任播?

load-balancing anycast

9
推荐指数
2
解决办法
3832
查看次数

Cisco BGP 不等价负载平衡

我正在尝试在我的网络中实现 BGP 不等成本负载平衡功能。根据思科手册(长:http : //www.cisco.com/c/en/us/td/docs/ios/12_2s/feature/guide/fsbgplb.html,短:https : //ccieblog.co.uk /bgp/bgp-unequal-load-cost-sharing)我已经建立了这样的网络拓扑:

网络拓扑

R1 - 我试图为传出流量实现负载平衡的路由器。nat使用带有名称的 VRF 表。

R2-R4 - 运行 quagga 的 NAT 服务器,通过 eBGP与R1共享到R5 的默认路由。

R1配置

R1 IOS版本: 12.2(33)SXJ4 (s72033-adventerprisek9_wan-mz.122-33.SXJ4.bin)

R2 配置R3 R4仅 router-id 和 vlan 不同)

结果我在R1上有 3 个不同的默认路由,它们具有相同的共享数 - 1/1 (1:1:1)。但比例1:2:3 expexted:

R1# sh ip bgp vpnv4 vrf nat 0.0.0.0

Paths: (6 available, best #5, table nat)
Multipath: eiBGP
  Advertised to update-groups:
     2         
  65000
    10.30.227.227 from …
Run Code Online (Sandbox Code Playgroud)

cisco load-balancing bgp

9
推荐指数
1
解决办法
1143
查看次数

硬件负载平衡器可以使用 SNI 路由 SSL 流量吗?

我们有一个网络服务器场,目前托管 2 个应用程序——这两个应用程序都在所有服务器上运行。我们想拆分它,以便为每个应用程序提供一个专用的服务器群(我们有充分的理由这样做)。

我们希望在所有服务器前有一个单一的负载平衡器,它会根据主机名将流量路由到正确的服务器场,但我们希望维护到网络服务器的 SSL。

我们提供的路由器似乎没有这样做。我明白没有 SNI 这是不可能的,但我们希望几乎所有流量都有 SNI 指标。

现在我是程序员,不是网络人员,但是当一个新的 SSL 连接请求进来时,路由器不能检查 SNI 标头,并路由到正确的农场。我假设传入的 SSL 连接由 {source IP:source port} 标识,所以它不能为后续传入的数据包记住这一点(如果 SNI 仅出现在第一个数据包中)?

据我所知 Haproxy 是这样做的,但硬件负载平衡器似乎没有。这有什么原因吗,或者这是我们应该推动的吗?

(对于最后一个在 XP 上使用不包含 SNI 的 IE 的守卫,我们希望将流量发送到旧场,并在必要时管理到新场的代理)。

ssl load-balancing sni

9
推荐指数
2
解决办法
1944
查看次数

NGINX 与 GCE Kubernetes 入口类

在 Google Container Engine 上设置 Kubernetes 入口时,您可以选择入口类(gcenginx)。我意识到 GCE 类在 Google 的云平台上提供了一个负载均衡器,每个成本约为 20 美元/月。

经过一些研究,我找不到 Google 的负载均衡器比使用 NGINX 入口类更好的任何普遍原因——至少在达到非常大的规模之前不会。

事实上,似乎 GCE 类不支持:

  • 外部身份验证 ingress.kubernetes.io/auth-url
  • 基本认证
  • NGINX ingress 中内置的一些其他小功能

我不知道使用 GCE 类与 NGINX 类进行入口有什么好处吗?

nginx load-balancing kubernetes google-cloud-platform google-kubernetes-engine

9
推荐指数
1
解决办法
2650
查看次数

无法通过 SSH 连接到 AWS CloudFormation Stack 实例

我现在设置了一个可扩展的负载均衡器,主要遵循这个模板:

https://github.com/satterly/AWSCloudFormation-samples/blob/master/LAMP_Multi_AZ.template

AWS::AutoScaling::AutoScalingGroup.CreationPolicy.ResourceSignal.Count键调整为0(基本上允许在未收到成功信号的情况下加载堆栈)后,我能够加载堆栈,并且可以看到所有可用资源。

我可以看到正在创建的密钥的公共 DNS,但我无法通过 SSH 连接到实例。

我对实例规则中的每个人都有开放的 SSH 访问权限,我可以在 AWS 控制台中确认这一点。

我还按照官方 AWS 文档中的建议为我的 VPC 配置了一条路由:https : //aws.amazon.com/premiumsupport/knowledge-center/ec2-linux-ssh-troubleshooting/

我可以看到实例存在,但似乎我限制了自己在某处的访问。但是,在 AWS EC2 控制台中,设置看起来与我能够通过 SSH 连接到实例时相同。

这是我正在使用的 JSON 模板,您可以在其中查看我的所有设置,包括我的 VPC、子网、安全组等:https : //gist.github.com/dambrogia/e4cd93a64ae6f3a79d4a58d466f144f8

我从以下命令收到超时错误:(我的id_rsa密钥在 ec2 内有效)

ssh -i ~/.ssh/id_rsa ec2-user@<ec2_instance>
Run Code Online (Sandbox Code Playgroud)

如何通过 SSH 连接到我的实例?在此先感谢您的帮助!

load-balancing amazon-ec2 amazon-web-services amazon-cloudformation

9
推荐指数
1
解决办法
1419
查看次数