使用应用程序负载均衡器与HTTPS

3

这是我第一次使用负载均衡器...我花了相当长的时间阅读文档,但我仍然感到很困惑。

我想托管我的网站。我的网站只支持HTTPS。我想把我的后端服务器放在一个应用程序负载均衡器(ALB)后面。

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

问题:

  1. 后端服务器与myALB之间的通信应该是HTTP还是HTTPS?
  2. 我在myALB上创建了一个HTTPS监听器,是否还需要创建一个HTTP监听器?我想要的是将任何HTTP请求重定向到HTTPS(我认为这应该在myALB上完成)?
  3. 我想使用外部ID登录(使用Facebook)。我已经设置了Facebook登录仅使用HTTPS。Facebook和我的后端服务器之间的通信是否通过myALB进行?我的意思是,我需要在我的后端服务器上启用HTTPS,或者使用myALB进行与Facebook的通信。

我会感激任何一般性的建议。

1个回答

4
  1. 您可以使用HTTP和HTTPS监听器。
  2. 是的,您可以通过ALB实现这一点。您可以向其添加规则,该规则指示任何到达80端口的请求将永久重定向到443端口。请查看ALB规则
  3. 如果从您的实例向Facebook发出请求 - 这取决于Facebook是否加密您的通信,因为在这种情况下,您是客户端。但是,如果您设置了某些Webhook,则Facebook现在是客户端,并且要与您进行通信,您需要提供负载均衡器的DNS名称。由于本列表中的第2点,Facebook将被强制使用TLS。

我不确定我完全理解您的第三个问题,但这里有一些您可能也会发现有用的东西。 ALB具有某些功能,可以使用Cognito对用户进行身份验证。它明确表示您的EC2实例可以抽象出任何身份验证,即使它使用Facebook ID或Google ID或其他任何方式。尽管从未尝试过。


非常感谢,那么我的后端服务器就不需要任何SSL(在ALB上卸载SSL)了吗?我的第三个问题是关于使用Facebook帐户登录网站(例如stackoverflow)的用户。我的Web服务器需要向Facebook应用程序发送请求以验证用户,Facebook应用程序会向我的服务器发送响应,指示此用户是否经过验证。我的问题是,这个交换是否通过负载均衡器进行(因为我设置的Facebook应用程序需要HTTPS)。 - Hooman Bahreini
1
不需要在您的实例上使用SSL,是的,它将通过负载均衡器。 - Vladyslav Usenko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接