是否可以选择将 http 流量重定向到 aws 网络负载均衡器中的 https

jal*_*eel 12 amazon-web-services aws-elb

在经典负载均衡器 (CLB) 和应用程序负载均衡器 (ALB) 中,可以选择将所有 http 流量重定向到 https 侦听器。

我没有找到将 tcp 端口 80 流量从 NLB(网络负载均衡器)重定向到 tls 端口 443 的选项

任何帮助深表感谢。

mas*_*sk8 8

AWS 网络负载均衡器无法处理第 7 层,因此无法自行将 HTTP 重定向到 HTTPS。

我所做的解决方法是:

  1. 将 HTTPS 请求转发到应用服务器的 HTTP
  2. 将 HTTP 请求转发到应用服务器的端口 8080
  3. 设置一台应用程序服务器来侦听端口 8080,并将请求重定向到 https:

这样,网络负载均衡器仍然可以终止 TLS。如果 HTTP 请求到达 LB,它将转发到端口 8080,并且应用程序/Web 服务器会将其重定向到您的 https 站点。


小智 7

截至 2021 年 9 月,现在可以通过创建应用程序负载均衡器类型的目标组来实现这一点。

  1. 创建仅从 HTTP 重定向到 HTTPS 的应用程序负载均衡器
  2. 创建类型为“应用程序负载均衡器”的目标组并将其指向 ALB
  3. 在网络负载均衡器中,在端口 80 上添加转发到 ALB 目标组的 TCP 侦听器

有关应用程序负载均衡器类型目标组的 AWS 文档:
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/application-load-balancer-target.html


Chr*_*ams 2

这不是网络负载均衡器的功能,您所说的功能是第7 层功能

网络负载均衡器在第 4 层运行,要重现此功能,您的应用程序需要实现此功能。

如果您的应用程序是基于公共Web 的应用程序,您可以通过在前面添加 CloudFront 发行版来解决此问题,该发行版可以执行 HTTP 到 HTTPS 重定向,或迁移到应用程序负载均衡器(如您所提到的)。