通过HTTPS使用Application Load Balancer

时间:2019-05-11 08:04:41

标签: amazon-web-services amazon-ec2 https aws-application-load-balancer

这是我第一次使用负载均衡器...我花了很多时间浏览文档,但我仍然很困惑。

我想托管我的网站。我的网站仅支持HTTPS。我想将后端服务器放在应用程序负载平衡器之后。

我正在使用AWS的默认VPC,已经创建了一个ALB(myALB)并在上面安装了SSL证书。我还创建了2个EC2实例(myBackEndServer1和myBackEndServer2)。

问题:

  1. 后端服务器和myALB之间的通信是否应该 通过HTTP还是HTTPS?
  2. 我已经在myALB上创建了HTTPS侦听器,是否还需要HTTP myALB上的侦听器?我想要的是将任何HTTP请求重定向到 HTTPS(我相信这应该在myALB上发生)?
  3. 我想使用外部ID登录(使用Facebook)。我已经建立了Facebook 登录以仅使用HTTPS。之间的沟通 Facebook和我的后端服务器通过myALB吗?我的意思是,我要么 在我的后端服务器上需要HTTPS,或与Facebook进行通信 应该通过myALB。

任何常规建议,我将不胜感激。

1 个答案:

答案 0 :(得分:3)

  1. 您可以同时使用HTTP和HTTPS侦听器。
  2. 是的,您可以使用ALB来实现。您可以向其中添加一条规则,该规则表示将永久将任何到端口80的请求重定向到端口443。查看rules中的ALB。
  3. 如果您从实例向Facebook提出请求-这取决于Facebook,是否对您的通信进行加密,因为在这种情况下,您是客户端。但是,如果您设置了一些网络挂钩,那么Facebook现在是客户端,并且可以与您通信,因此您需要提供负载平衡器的DNS名称。而且由于该列表中的第2点,Facebook将被迫使用TLS。

我不确定我是否完全理解您的问题三,但是在something那里您可能也会发现有用。 ALB具有一些功能,可以使用Cognito对用户进行身份验证。它明确表示您的EC2实例可以从任何身份验证中抽象出来,也可以使用Facebook ID或Google Id或其他任何形式。没尝试过。