所以我们有一个负载平衡器和所有的爵士乐设置与 Rackspace。但是,您猜怎么着,我们客户的网站今天再次关闭。
似乎 Rackspace 应该将他们的负载平衡器架构与其他东西分开,但我相信他们有自己的理由。
令人惊讶的是,他们的 SLA 并未涵盖 DDOS。
我知道您无能为力来防止 DDOS,但这些攻击并不适合我们。我们如何避免陷入 DDOS?
据我所知,一个 TCP/IP 栈最多只能维持 65535 个并发连接;在阅读一些 F5 BigIP 负载均衡器的白皮书时,我看到它们可以保持打开的数百万个并发连接;
我特别关注最低端模型 2000 年代,它指出它可以保持 500 万个并发连接。
在操作系统级别,这是如何管理的?每个铜缆/光纤链路只能有 65535 个吗?这是否意味着它需要 75 个以上的上行链路连接才能达到此限制?
我在https://demo.titusgt.com上的 AWS 上有一个带有 AWS Certificate Manager (ACM) 证书的 Web 应用程序。
它运行良好,在浏览器中显示为安全站点,直到我的证书过期。从AWS 文档中我了解到 ACM 证书应该自动更新,但这并没有发生。
所以我说干就干,并要求遵循新的ACM证书此过程中,域名所有者获得批准,我相关的新的证书与我的弹性负载均衡下面这个程序,但AWS仍然是服务于旧的,过期证书到我的浏览器,因此它显示作为一个不安全的网站。
然后,我使用 Let's Encrypt 预置了一个新证书,将其导入 AWS Certificate Manager 并将其与我的 Elastic Load Balancer 相关联,但 AWS 仍在提供旧的、过期的证书。
我还检查了 SSLLabs,它说证书已过期。
如何让 AWS 提供新证书?我是否缺少设置中的一个步骤?
load-balancing ssl-certificate amazon-ec2 amazon-web-services
在AWS 中,我有一个EC2实例,它当前允许端口 80 上的传入流量。我在此实例上托管一个 API,因此目前我可以在 EC2 实例的公共 IP 上使用 Postman 访问 API 端点。到现在为止还挺好。
接下来,我使用 SSL 证书和子域(称为 api.whatever.com)设置了一个面向 Internet 的应用程序负载平衡器。负载均衡器的安全组阻止端口 80 流量,但允许端口 443 (HTTPS) 流量。并且负载均衡器被配置为通过端口 80 将请求转发到 EC2 实例。
所以,我可以点击我的 API 并通过负载均衡器获得响应,例如https://api.whatever.com/something.php。虽然http://api.whatever.com/something.php无法访问,因为端口 80 被阻止。这就是我要的。
但是,现在我想要做的是阻止 EC2 实例响应来自负载均衡器以外的任何地方的 HTTP 请求。但当然,如果我从 EC2 安全组中删除端口 80,负载均衡器将无法再联系它,因为它使用端口 80。我正在寻找负载均衡器的 IP 地址,以便我可以将该 IP 列入安全组的白名单端口 80,但我找不到这样的东西。
如何排除端口 80 对我的 EC2 实例的访问权限,但负载均衡器除外?
使用 Terraform 在 AWS 中创建 Autoscaling Group(有 2 个实例)和 Elastic Load Balancer (ELB)。
这些实例在端口 3000 上运行用 Go 编写的简单http-echo服务器。
当通过浏览器访问负载均衡器的 DNS 名称时,请求会记录在两个实例中,而不是一个。预期行为应该是向其中一个实例发送请求。
Instance1 的日志:
2019/01/23 05:03:53 <DNS Name of LB>
10.0.21.217:31904 "GET /favicon.ico HTTP/1.1" 200 58
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/71.0.3578.98 Safari/537.36" 9.018µs
Run Code Online (Sandbox Code Playgroud)
Instance2的日志:
2019/01/23 05:03:53 <DNS Name of LB>
10.0.21.217:47620 "GET / HTTP/1.1" 200 58
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/71.0.3578.98 Safari/537.36" 9.074µs
Run Code Online (Sandbox Code Playgroud)
但是当请求发送curl到同一地址时,负载均衡器按预期工作,只将请求发送到实例之一,并且还会在重复请求时循环遍历实例。这是期望的行为。
curl请求日志:
2019/01/23 05:43:15 <DNS …Run Code Online (Sandbox Code Playgroud) 我有一个 React 应用程序,它可以 ping 在 EC2 实例上运行的 Node Express 服务器(REST api、HTTP)以获取数据服务。我想支持 HTTPS,因此我希望在弹性负载均衡器上安装一个证书并将其用于 SSL 终止。因此,React 应用程序将在 HTTPS 上对 ELB 执行 ping 操作,然后 ELB 将在 HTTP 上转发并与 Express 服务器进行通信。
问题:我应该在哪个域上制作证书?ELB的公共DNS?亚马逊说我无法在亚马逊拥有的 DNS 上获得 SSL 证书: https: //docs.aws.amazon.com/acm/latest/userguide/troubleshooting-requests.html#failed-additional-verification-required
如果我无法在 ELB 的公共 DNS 上获得 SSL 证书...它如何支持面向互联网的 HTTPS?有什么我不明白的吗?
https load-balancing ssl-certificate amazon-ec2 amazon-web-services
我主要担心的是,由于反向代理路由是静态的,它如何替换在检查服务器健康状况时动态路由请求的负载均衡器?那么我们真的需要反向代理吗?
我遇到了 HAProxy 无法将连接重新分配到服务器的问题。当我将服务器置于维护模式时,没有任何活动连接被断开/转移到其他活动服务器,这会导致我的最终用户超时。
我的配置如下:
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
# to have these messages end up in /var/log/haproxy.log you will
# need to:
#
# 1) configure syslog to accept network log events. This is done
# by adding the '-r' option to the SYSLOGD_OPTIONS in
# /etc/sysconfig/syslog
#
# 2) configure local2 events to go to the /var/log/haproxy.log
# file. A line like the following can be added to
# /etc/sysconfig/syslog
#
# local2.* /var/log/haproxy.log
#
log 127.0.0.1 …Run Code Online (Sandbox Code Playgroud) 我知道有一个 ALB 和 NLB 选项可与 websocket 一起使用。我不明白为什么带有 HTTP 协议的经典 ELB 不适用于 websocket 连接,尽管在实例中 Nginx 配置为添加连接和升级标头。一旦我将其切换到 TCP 协议,它就可以工作了。你能解释一下当中间有 HTTP 代理时这个协议到底是如何工作的吗?
它仍然使用相同的 TCP,一旦客户端到达服务器并且 Nginx 添加了升级标头,带有切换协议消息的服务器响应应该到达客户端,然后它们只使用已建立的 HTTP 连接的 TCP。它丢弃 ELB 上的此连接、响应缓冲或只是丢弃所有非 HTTP 流量的原因是什么?
所以Nginx发送到ELB
HTTP/1.1 101 Switching Protocols
Server: nginx/1.13.1
Date: Sat, 21 Mar 2020 07:53:38 GMT
Connection: upgrade
Upgrade: websocket
Sec-WebSocket-Accept: PozdkhgL/Zdkgh3kwu0KkACFCt0=
Run Code Online (Sandbox Code Playgroud)
但是ELB从来没有将其返回给客户端,并且请求超时。
proxy load-balancing amazon-web-services amazon-elb websocket
我有一个很小的网站,我希望每个月有几个小时的并发流量非常高。我正在尝试找出哪种托管解决方案可以确保网站永不宕机。
以下是详细信息:
有人可以给我一些建议吗?还有关于我应该如何负载测试的任何提示?
我听说过负载平衡、专用服务器、Amazon AWS 和 Rackspace 之类的东西,但真的很困惑,不确定什么是最佳行动方案。
ubuntu performance load-balancing amazon-web-services apache-2.2
load-balancing ×10
amazon-ec2 ×4
amazon-elb ×1
apache-2.2 ×1
ddos ×1
f5-big-ip ×1
haproxy ×1
https ×1
performance ×1
port ×1
proxy ×1
rackspace ×1
terraform ×1
ubuntu ×1
websocket ×1