没有负载均衡器的EC2实例上的AWS SSL - NodeJS
问题描述:
是否有可能运行EC2实例,正在监听port 443
,没有load balancer
?我正在尝试在我的Node.JS
应用程序中,但当我使用https://
致电该页时,它不起作用。但是,如果我将它设置为port 80
,则一切正常,http://
。没有负载均衡器的EC2实例上的AWS SSL - NodeJS
我早点用load balancer
和route53
,但我不想为ELB支付18美元/月,尤其是当我只有一台服务器运行时。
感谢您的帮助
答
答
可能吗?当然是。听起来你已经在ELB上安装了SSL证书,现在你已经删除了ELB。您现在必须在EC2服务器上安装SSL证书。没有ELB或CloudFront分配,您无法使用AWS ACM SSL证书。如果您不想为其中任何一项服务付费,则必须在其他地方获得SSL证书。
答
对于我们的项目(就像其他海报描述的),我们使用这种设置:
- nginx的负载均衡和代理的端口80上的所有呼叫(没有直接打电话给Node.js的端口服务器3000对公众开放)
- PM2作为过程管理器对的Node.js(以及部署)
- keymetrics.io用于监测
- 的NodeJS v6.9.3硼/ LTS(通过NVM)
- MongoDB的3.2 WiredTiger引擎(Compose.io)
- 托管亚马逊EC2实例(亚马逊的Linux Ubuntu的不)
这种设置非常适用于我们。在这个设置中,我们可以在不使用亚马逊负载平衡器的情况下设置SSL。
我有来自Namecheap的SSL证书,并且它已上传到IAM。当我设置ELB时,我只需选择使用IAM中的现有SSL证书。我如何将它安装在我的EC2上?我需要SSH进入它或什么? @MarkB – Thomas
是的,您将不得不SSH进入服务器并手动安装证书。在这种情况下,您将无法使用IAM管理证书。 –