如何在localhost:3000上使用HTTPS

时间:2017-05-16 07:48:05

标签: node.js amazon-web-services nginx amazon-ec2

我的申请要求:

""您的网络表单的网址,将显示在工作人员网络浏览器的框架中。此URL必须使用HTTPS协议。""

我的AWS EC2实例上运行了节点js。出于某种原因,我在将其作为生产服务器serve -s build

运行时遇到问题

但是当我在项目文件夹中npm start时,它在端口3000上运行开发服务器,我可以通过http://ec2----------.compute-1.amazonaws.com:3000/

访问它

但这不适用于https。有没有办法可以使用https访问相同的网址?类似的东西:

https://ec2----------.compute-1.amazonaws.com:3000/

到目前为止我看过的方式:反向代理和Nginx。

但是不能理解它。

2 个答案:

答案 0 :(得分:1)

如果您在EC2实例前使用弹性负载均衡器,则AWS提供了一种非常简单的方式来使HTTPS正常工作。如果要直接访问实例,则需要在node.js中配置HTTPS,或使用HTTPS服务代理node.js应用程序的流量。

答案 1 :(得分:0)

步骤1:选择负载均衡器

创建负载均衡器时的2个选项:

应用程序负载均衡器:如果您的应用程序在特定端口或开发模式下运行,或者您需要基于路径的路由。就路由决策而言,它是在应用层完成的一个很好的选择。它只能从HTTP和HTTPS监听。

经典负载均衡器:如果您需要直接从传输层获取路由决策。你可以选一个。 我将继续使用Application Load Balancer,尽管大多数阶段是相同的。

步骤2:配置负载均衡器 简单快速的配置:

名称:为您的负载均衡器命名。

计划

面向互联网 :如果您希望客户通过互联网发送请求,请选择此项。

内部 :如果您希望来自客户端的请求使用私有IP,请选择此选项              地址。

IP地址类型:ipv4

<强> 监听 侦听器是使用您配置的协议和端口检查连接请求的进程。 应用程序负载均衡器中只能有两个侦听器:

  

端口80上的HTTP   端口443上的HTTPS

可用区

负载均衡器的主要工作是保持不同地区和地区的流量。一个区域中有多个可用区域。这些可以想象为在我们东部放置多个服务器这些可用区域每个都有一个单独的子网。但是,只能为特定区域选择一个子网。

您需要选择至少2个此类可用区域,这些区域具有不同的子网。这基本上有助于负载均衡器平衡至少2台服务器上的负载。

步骤3:配置安全设置并添加实例 如果您在上一步中选择了监听https,则配置安全设置包括指定证书。由于您选择了https侦听器,因此AWS需要使用该证书。您可以了解如何从AWS Certificate Manager获取证书。在这里你必须选择:

证书类型:从AWS Certificate Manager(ACM)中选择现有证书

证书名称:它会在下拉列表中弹出证书名称。

选择最新的安全策略 安全政策:ELBSecurity-2016-08

选择为您的实例制作的现有安全组。 第4步:目标群体 创建目标组。根据它侦听的内容和目标位置命名。 您必须提及侦听器将流量定位到的路径和端口。

第5步:部署

查看设置后,部署并创建负载均衡器。这将完成所有清洁和管理。这就像为您的服务器流量聘请经理一样。你现在可以去冥想一段时间了。 负载均衡器需要几分钟才能完成。负载均衡器激活后。在主负载均衡器仪表板上复制负载均衡器的DNS链接,因为我们将在下一步中使用它。它看起来像这样:

load-balancer-name-xxxxxxxxxx.us-east-x.xxx.amazonaws.com (A Record)

第6步:将您的域名映射到Load Balancer

通过将域名(例如www.example.com)转换为计算机用于相互连接的数字IP地址(例如192.0.2.1),提供一种可靠且经济高效的方式来将访问者路由到网站。 AWS会为您的资源分配URL,例如负载均衡器。但是,您可能需要一个易于用户记住的URL。例如,您可以将域名映射到负载均衡器。

转到Route 53并选择托管区域和域名记录集。

You need to create a new record : 
1) Leave the domain name blank. 
2) Select Yes for Alias.
3) Paste the DNS link for the Load Balancer in the Alias Target.
4) Create.

这一步基本上是风险转移。它将域名路由到负载均衡器的DNS。因此解决了我们处理流量的目的。其余的工作由ELB处理,ELB将其统计信息转换为运行状况报告,您可以根据这些报告创建和替换更多实例。

有一个好人!

引文:https://sites.google.com/gwmail.gwu.edu/aws-tools/aws-elastic-load-balancer?authuser=0