Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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
Node.js 如何在localhost:3000上使用HTTPS_Node.js_Amazon Web Services_Nginx_Amazon Ec2 - Fatal编程技术网

Node.js 如何在localhost:3000上使用HTTPS

Node.js 如何在localhost:3000上使用HTTPS,node.js,amazon-web-services,nginx,amazon-ec2,Node.js,Amazon Web Services,Nginx,Amazon Ec2,我的申请要求: “”要在工作人员的web浏览器中的框架中显示的web表单的URL。此URL必须使用HTTPS协议。“” 我的AWS EC2实例上运行着节点js。由于某些原因,我在将其作为生产服务器运行时遇到问题service-s build 但当我在项目文件夹中启动npm时,它会在端口3000上运行一个开发服务器,我可以通过 但这不适用于https。有没有一种方法可以使用https访问相同的url?比如: 到目前为止,我所看到的方式是:反向代理和Nginx 但是不能很好地理解它。如果在EC2实

我的申请要求:

“”要在工作人员的web浏览器中的框架中显示的web表单的URL。此URL必须使用HTTPS协议。“”

我的AWS EC2实例上运行着节点js。由于某些原因,我在将其作为生产服务器运行时遇到问题
service-s build

但当我在项目文件夹中启动npm时,它会在端口3000上运行一个开发服务器,我可以通过

但这不适用于https。有没有一种方法可以使用https访问相同的url?比如:

到目前为止,我所看到的方式是:反向代理和Nginx


但是不能很好地理解它。

如果在EC2实例前面使用弹性负载平衡器,那么AWS提供了一种非常简单的方法来让HTTPS工作。如果您想直接访问实例,则需要在node.js中配置HTTPS,或使用HTTPS服务将流量代理到node.js应用。

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

步骤1:选择负载平衡器

创建负载平衡器时有两种选择:

应用程序负载平衡器:如果您的应用程序在特定端口上运行或处于开发模式,或者您需要基于路径的路由。在应用层进行路由决策方面,这是一个很好的选择。它只能从HTTP和HTTPS进行侦听

经典负载平衡器:如果您需要从传输层做出正确的路由决策。你可以选一个。 我将继续介绍应用程序负载平衡器,尽管大多数阶段是相同的

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

名称:命名负载平衡器

方案

面向internet:如果希望通过internet接收来自客户端的请求,请选择此选项

内部:如果希望使用专用IP从客户端接收请求,请选择此选项 地址

IP地址类型:ipv4

听众 侦听器是使用您配置的协议和端口检查连接请求的进程。 应用程序负载平衡器中只能有两个侦听器,它们是:

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

可用性区域

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

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

步骤3:配置安全设置并添加实例 配置安全设置包括指定证书(如果在上一步中选择了侦听https)。由于您选择了https侦听器,AWS需要使用证书。您可以学习如何从AWS证书管理器获取证书。在这里,您必须选择:

证书类型:从AWS证书管理器(ACM)中选择现有证书

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

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

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

步骤5:部署

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

load-balancer-name-xxxxxxxxxx.us-east-x.xxx.amazonaws.com (A Record)
步骤6:将域名映射到负载平衡器

通过将域名(如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将其统计数据转换为运行状况报告,您可以根据这些报告创建和替换更多实例

祝你过得愉快


引用:

步骤1:选择负载平衡器

创建负载平衡器时有两种选择:

应用程序负载平衡器:如果您的应用程序在特定端口上运行或处于开发模式,或者您需要基于路径的路由。在应用层进行路由决策方面,这是一个很好的选择。它只能从HTTP和HTTPS进行侦听

经典负载均衡器