【问题标题】:How to download AWS certificate to use it with NodeJS如何下载 AWS 证书以将其与 NodeJS 一起使用
【发布时间】:2016-11-07 18:23:32
【问题描述】:

我正在努力使用 AWS 系统地启用 https。我通过证书管理器请求了一个证书,然后让 ELB 和安全组监听 HTTPS 和端口 443。

但是我还需要 AWS 实例上的服务器来监听 443 端口上的 https 请求,对吧?我的服务器使用 NodeJS 和 Express 运行。据我了解,我需要一个证书 (.crt) 文件和密钥才能正确执行此操作,但我不知道如何从 AWS Certificate Manager 下载它们。

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

【问题讨论】:

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


    【解决方案1】:

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

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

    您无法下载由 Amazon 的 ACM 服务生成的证书。您只能通过负载均衡器或 CloudFront 分配使用它们。

    【讨论】:

      【解决方案2】:

      不,您不能下载证书,而是可以配置您的 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

      【讨论】:

        【解决方案3】:

        我的应用程序的 ssl 证书(在 AWS ECS 中运行)已于 2 天前过期。因为该证书由 ACM 管理,无法手动下载和安装。我执行以下操作来更新它:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-03-03
          • 2016-05-12
          • 2016-10-17
          • 1970-01-01
          • 2017-01-18
          • 2021-10-09
          • 1970-01-01
          • 2021-10-23
          相关资源
          最近更新 更多