AWS Application Load Balancer HTTP到HTTPS与EC2实例

【AWS Application Load Balancer HTTP到HTTPS与EC2实例】愿君学长松,慎勿作桃李。这篇文章主要讲述AWS Application Load Balancer HTTP到HTTPS与EC2实例相关的知识,希望能为你提供帮助。
我有一个在Ubuntu上运行Node.Js服务器的EC2实例。
我的目标是:

  1. 将我的托管区域连接到EC2实例
  2. 将所有传入流量从端口80路由到端口3000(因为我的服务器在端口3000上运行)
  3. 最重要的是使用应用程序负载均衡器将所有请求转发到HTTPS(我已在证书管理器中创建了SSL证书)。
目前,我只能在端口3000(Public Ip)上使用EC2 intances'http://prntscr.com/livali打开网站。 Https请求或Http到端口80不起作用(http://prntscr.com/livau2)。 Altought a使用实例'A在我的托管区域创建了Public Ip记录,无法通过托管区域(http://prntscr.com/liv9no)打开实例。
我真的很困惑,因为我无论如何都无法让它运行起来。我真的很感激有关如何设置这一切的分步指南。
答案如果您已拥有SSL证书,则仅使用端口443而不是端口80是安全的。
1)创建面向应用程序负载均衡器的Internet,该应用程序负载均衡器侦听端口443并将流量路由到端口3000上的EC2实例。
2)在HTTP https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#redirect-actions上访问您的域时,将用户重定向到HTTPS
2)添加A记录,将您的域名指向Load Balancer的公共DNS。
另一答案这些是Web服务器问题而不是DNS问题。您需要设置像nginx或Apache这样的东西来将端口80代理到端口3000.有关信息,请参阅Apache redirect to another port。
您还可以在Apache中使用重写规则强制HTTPS:https://wiki.apache.org/httpd/RewriteHTTPToHTTPS
强制HTTPS的另一个选择是创建CloudFront分配并使用它。 https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html

    推荐阅读