如何下载AWS证书以将其与NodeJS一起使用

时间:2016-11-07 18:23:32

标签: node.js amazon-web-services ssl

我正在努力与AWS合作,以系统地启用https。我通过证书管理器申请了证书,然后让ELB和安全组听取HTTPS和端口443。

但是我还需要AWS实例上的服务器来监听443端口上的https请求,对吧?我的服务器正在运行NodeJS和Express。根据我的理解,我需要有一个证书(.crt)文件和密钥才能正确完成,但我还没有找到如何从AWS Certificate Manager下载它们。

以前有人遇到过这个问题吗?谢谢大家!

3 个答案:

答案 0 :(得分:6)

  

我还需要AWS实例上的服务器来监听https请求   在443端口,对吧?

不,您在ELB上启用证书。 SSL终止发生在ELB上,ELB和NodeJS服务器之间的通信通过VPC内的HTTP进行。 ELB将向您的NodeJS服务器发送一个特殊的HTTP头X-Forwarded-Proto,您可以检查是否需要知道ELB和客户端之间的连接是通过HTTP还是HTTPS。

您无法下载亚马逊ACM服务生成的证书。您只能通过Load Balancers或CloudFront发行版使用它们。

答案 1 :(得分:1)

不,您无法下载证书,而是可以配置您的Apache。配置https打开/etc/apache2/sites-available/default-ssl.conf 并将此行添加到该文件。

<Location /subDomain>
  ProxyPass http://localhost:port
  ProxyPassReverse http://localhost:port
</Location>

添加后重启你的apache。 然后打开浏览器并查看https://yourdns.com/subDomain

答案 2 :(得分:1)

我的应用程序的ssl证书(在AWS ECS中运行)在2天前过期。因为该证书是由ACM管理的,所以不能手动下载和安装。我执行以下操作来续签:

  • 在ACM中,提交续订证书的请求,(需要 提供电子邮件或DNS提供商以验证此域是否归您所有。 )我使用电子邮件方式。验证后,证书续订请求 的状态从“待处理”更改为“已发布”。

  • 没有下载证书的地方,如上答案,我们 需要使用ELB或其他服务来安装该证书。在aws 控制台,EC2 =>负载平衡器=>查看/编辑证书=>添加 为此创建的证书。 =>完成