Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS应用程序负载平衡器HTTP到HTTPS以及EC2实例_Amazon Web Services_Amazon Ec2_Https_Amazon Route53_Amazon Elb - Fatal编程技术网

Amazon web services AWS应用程序负载平衡器HTTP到HTTPS以及EC2实例

Amazon web services AWS应用程序负载平衡器HTTP到HTTPS以及EC2实例,amazon-web-services,amazon-ec2,https,amazon-route53,amazon-elb,Amazon Web Services,Amazon Ec2,Https,Amazon Route53,Amazon Elb,我有一个EC2实例在Ubuntu上运行Node.Js服务器 我的目标是: 将我的托管区域连接到EC2实例 将所有传入流量从端口80路由到端口3000(因为我的服务器在端口3000上运行) 最重要的是,使用应用程序负载平衡器将所有请求转发到HTTPS(我已经在证书管理器中创建了SSL证书) 目前,我只能在端口3000()上使用EC2 intances“公共Ip打开网站。Https请求或到端口80的Http无效()。虽然a在我的托管区域中使用实例的公共Ip创建了a记录,但无法通过托管区域()打开实例

我有一个EC2实例在Ubuntu上运行Node.Js服务器

我的目标是:

  • 将我的托管区域连接到EC2实例
  • 将所有传入流量从端口80路由到端口3000(因为我的服务器在端口3000上运行)
  • 最重要的是,使用应用程序负载平衡器将所有请求转发到HTTPS(我已经在证书管理器中创建了SSL证书)
  • 目前,我只能在端口3000()上使用EC2 intances“
    公共Ip
    打开网站。Https请求或到端口80的Http无效()。虽然a在我的托管区域中使用实例的
    公共Ip
    创建了
    a
    记录,但无法通过托管区域()打开实例


    我真的很困惑,因为我不知何故无法启动并运行它。如果能提供一份关于如何设置整个过程的分步指南,我将不胜感激。

    这些是web服务器方面的问题,而不是DNS方面的问题。您需要将NGINX或Apache之类的东西设置为代理端口80到端口3000。有关信息,请参阅

    您还可以使用Apache中的重写规则强制HTTPS:


    强制使用HTTPS的另一个选项是创建CloudFront发行版并使用它

    如果您已经拥有SSL证书,则只使用端口443而不是端口80是安全的

  • 创建一个面向internet的应用程序负载平衡器,它侦听端口443并将流量路由到端口3000上的EC2实例

  • 在HTTP上访问域时将用户重定向到HTTPS

  • 添加A记录以将您的域名指向负载平衡器的公共DNS


  • 如何将应用程序负载平衡器与EC2实例关联?您可以将其添加为目标组。检查AWS文档。很简单。