标签: amazon-elb

Nginx set_real_ip_from AWS ELB 负载均衡器地址

我在 Amazon ELB 负载均衡器后面有一组 Nginx 服务器。我正在使用 set_real_ip(来自HttpRealIpModule),以便我可以访问这些服务器上的原始客户端 IP 地址(用于传递到 php-fpm 并在HttpGeoIPModule 中使用)。

貌似set_real_ip_from在nginx配置中只能接受一个I​​P地址。但是,关于 ELB 机器亚马逊说:

注意:因为与 LoadBalancer 关联的 IP 地址集会随着时间的推移而改变,所以永远不要使用任何特定的 IP 地址创建“A”记录。如果您想为 LoadBalancer 使用友好的 DNS 名称而不是 Elastic Load Balancing 服务生成的名称,您应该为 LoadBalancer DNS 名称创建 CNAME 记录,或使用 Amazon Route 53 创建托管区域。有关更多信息,请参阅在 Elastic Load Balancing 中使用域名

但是如果我需要输入一个 IP 地址,我就不能使用 CNAME(亚马逊的或我自己的)。这个问题有解决方案吗?

configuration nginx amazon-ec2 amazon-web-services amazon-elb

27
推荐指数
4
解决办法
3万
查看次数

将 Amazon ELB 后面的所有 http 请求重定向到 https 而不使用 if

目前我有一个 ELB 服务http://www.example.orghttps://www.example.org

我想设置它以便任何指向http://www.example.org 的请求都重定向到https://www.example.org

ELB 将 https 请求作为 http 请求发送,因此使用:

server {
      listen         80;
       server_name    www.example.org;
       rewrite        ^ https://$server_name$request_uri? permanent;
}
Run Code Online (Sandbox Code Playgroud)

将不起作用,因为对https://www.example.org 的请求仍将被发送到 nginx 上的端口 80。

我知道可以将其重写为

server {
      listen         80;
      server_name    www.example.org;
      if ($http_x_forwarded_proto != "https") {
          rewrite ^(.*)$ https://$server_name$1 permanent;
      }
}
Run Code Online (Sandbox Code Playgroud)

但是我读过的所有内容都if应该在 nginx 配置中不惜一切代价避免,这将适用于每个请求。此外,这意味着我必须为健康检查设置一个特殊的单独配置(如此处所述:“……当您位于 ELB 后面时,ELB 充当 HTTPS 端点并且仅向您的服务器发送 HTTP 流量,您破坏了以 HTTP 200 OK 响应响应 ELB 所需的健康检查的能力”)。

我正在考虑将登录放在 web 应用程序的代码中而不是 nginx 配置中(为了这个问题,我们假设它是一个基于 …

http nginx https redirect amazon-elb

27
推荐指数
3
解决办法
3万
查看次数

用于 AWS Amazon ELB 运行状况检查的 Nginx 解决方案 - 不带 IF 返回 200

我有以下代码在 Nginx 上工作,以保持 AWS ELB 健康检查。

map $http_user_agent $ignore {
  default 0;
  "ELB-HealthChecker/1.0" 1;
}

server {
  location / {
    if ($ignore) {
      access_log off;
      return 200;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道 Nginx 最好避免使用“IF”,我想问一下是否有人会知道如何在没有“if”的情况下重新编码?

谢谢你

nginx amazon-ec2 amazon-web-services amazon-elb

26
推荐指数
3
解决办法
3万
查看次数

如何将godaddy域转发到ec2负载均衡器

我有一个godaddy的域名:example.com

我有一个指向 ec2 实例的 ec2 负载均衡器。

我想 example.com 指向我的负载平衡实例。

我首先为我的 elb DNS 添加了 www cname 记录。然后我将example.com转发到www.example.com

我在godaddy 的A Name 记录中放了什么?

godaddy amazon-ec2 amazon-web-services amazon-elb

24
推荐指数
2
解决办法
4万
查看次数

Heartbleed 是否会影响 AWS Elastic Load Balancer?

Heartbleed OpenSSL 漏洞 ( http://heartbleed.com/ ) 影响 OpenSSL 1.0.1 到 1.0.1f(含)

我使用 Amazon Elastic Load Balancer 终止我的 SSL 连接。ELB 易受攻击吗?

openssl amazon-web-services amazon-elb heartbleed

19
推荐指数
1
解决办法
3920
查看次数

AWS 的弹性负载均衡器是单点故障吗?

我正在考虑将我们的应用程序迁移到 Amazon Web Services。计划是让所有 EC2 实例跨两个可用区进行镜像。由于数据传输成本,我们将留在一个 AWS 区域(俄勒冈)。

多个可用区消除了我们的应用程序和数据库服务器的单点故障,但是 ELB 呢?如果我有一个 ELB 在两个 AZ 之间分配流量,ELB 是否也托管在这两个 AZ 上?

亚马逊如何防止 ELB 成为 SPoF?

amazon-web-services amazon-elb

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

如何在 AWS 平台上通过 IPv6 访问我的 Web 服务器?

我公司的网站使用 AWS 平台。我希望网站的访问者能够使用 IPv6 协议访问我的内容。如何添加 IPv6 地址?

ipv6 amazon-ec2 amazon-elb

15
推荐指数
3
解决办法
1万
查看次数

Amazon ELB 使用什么算法来平衡负载?

我在官方 ELB 文档中找到了这个

默认情况下,负载均衡器将每个请求独立地路由到负载最小的应用程序实例。

但是Newvem上的一篇文章说ELB只支持Round Robin算法

Amazon ELB 支持的算法- 目前 Amazon ELB 仅支持 Round Robin (RR) 和 Session Sticky Algorithms。

那么是哪一个呢?

[1] http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html

[2] http://www.newvem.com/dissecting-amazon-elastic-load-balancer-elb-18-facts-you-should-know/?lead_source=popup_ebook&oid=00DD0000000lsYR&email=muneeb%40olacabs.com

load-balancing amazon-web-services amazon-elb

15
推荐指数
1
解决办法
3万
查看次数

如何在不支付 600 美元的情况下将 https 与 AWS Cloudfront 一起使用来上传我的证书?

我可以通过 Amazon CloudFront 托管一个动态网站,因为它们具有CNAME Wildcard Support。但是,我网站的某些页面使用 HTTPS。Amazon有一些关于如何将您的 SSL 证书与 CloudFront 分配相关联的文档,但定价显示每月花费600 美元,对我来说太多了。

我的问题是...是否可以配置 CloudFront 以便从 CloudFront 提供 HTTP 请求,但 CloudFront 忽略 HTTPS 请求并直接传递到源(在我的情况下,弹性负载均衡器可以免费解密 SSL) ?

ssl https amazon-cloudfront amazon-elb

15
推荐指数
2
解决办法
5094
查看次数

如何在 AWS Application Load Balancer 上将 HTTP 重定向到 HTTPS?

我们的网站需要遵守 HIPAA,因此所有内容都需要加密。我不希望当他们把在客户端得到一个错误信息“ HTTP://mysite.com”,所以我需要同时支持HTTP和HTTPS,并且HTTP重定向到HTTPS。我对吗?

我在网络服务器上正确地做到了。因此,如果我直接连接到 Web 服务器,HTTP 会自动重定向到 HTTPS。都好。

但是 Web 服务器位于 AWS Application Load Balancer 后面。我不知道如何在 ELB 上将 HTTP 重定向到 HTTPS。所以客户端浏览器仍然可以通过 HTTP 连接到 ELB。

如何在 AWS 应用程序负载均衡器上设置 HTTP => HTTPS?

换句话说,我确定ELB和Web服务器之间的连接是HTTPS,但是如何确保客户端浏览器和ELB之间的连接是HTTPS?

http https redirect amazon-web-services amazon-elb

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