【问题标题】:Elastic Beanstalk with Classic Load Balancer working with HTTP but not HTTPSElastic Beanstalk 与 Classic Load Balancer 使用 HTTP 但不使用 HTTPS
【发布时间】:2020-01-14 00:56:34
【问题描述】:

我已经为我的弹性 beantalk 应用程序设置了一个负载均衡器。它提供了一个适用于 http 的 DNS / URL。

我已经在 Route 53 上设置了我的域。我正在尝试使其与 HTTPS 一起用于子域 app.example.com

我使用 ACM *.example.com 设置了通配符证书。

我已在 loadBalancer 上启用 HTTPS 和端口 443。但我无法使用域名https://app.example.com 访问它,但可以使用http://app.example.com

在 Route 53 中,我创建了一条 A 记录,其中 Alias 设置为负载均衡器 DNS 名称。

我已经在 stackoverflow 上查看了大量的答案,但对我没有任何帮助。不知道我错过了什么。

【问题讨论】:

  • 您的安全组是否允许443 或从浏览器访问时浏览器的响应是什么?您是否尝试过使用 https 的 LB 端点,例如 https://lb_endpoint...com
  • 第二件事是 Elastic beanstalk 中的应用程序假设要监听443?我认为 ssl 在实例级别终止,那么为什么要将 443 实例端口与 LB443 映射?
  • "您是否尝试过使用 https 的 LB 端点,例如 lb_endpoint...com" 不,它不起作用。我想你可能正在做某事。我的应用程序实际上只公开了 8080 端口(使用 nginx)。 443端口映射是如何工作的?
  • 是的,应该可以,将实例的 8080 映射到负载均衡器的 443
  • ssl 将在实例处终止,并且将与外部世界进行 https 通信

标签: amazon-web-services https amazon-elastic-beanstalk


【解决方案1】:

您不需要映射目标的443,因为 TLS 将在向目标发送请求之前终止。

将目标的8080端口映射到负载均衡器的443

下图显示了使用 ALB 的 SSL/TLS 终止工作。

SSL 证书

要使用 HTTPS 侦听器,您必须至少部署一个 SSL/TLS 服务器 负载均衡器上的证书。负载均衡器使用服务器 证书终止前端连接然后解密 来自客户端的请求,然后将它们发送到目标。

/application/create-https-listener

【讨论】:

  • 非常感谢您的解释。我发布了对我有用的答案。
【解决方案2】:

这对我有用。在第一行将实例协议更改为 HTTP,并将实例端口更改为 80。

【讨论】:

  • 顺序无关紧要。这不是优先考虑的事情。至于端口是cenern,您提到您从实例公开端口8080,所以我提到了8080。是的,如果它的808080,offcourse 实例将监听http。它取决于目标组端口。 TLS 在发送到端点 @Alamgir 之前终止
猜你喜欢
  • 2022-01-10
  • 2021-05-25
  • 2019-08-06
  • 2020-08-31
  • 1970-01-01
  • 2020-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多