【问题标题】:AWS Elastic Beanstalk - NodeJS : Get certificate SSL from Letsencrypt without Beanstalk Load BalancerAWS Elastic Beanstalk - NodeJS:在没有 Beanstalk 负载均衡器的情况下从 Letsencrypt 获取证书 SSL
【发布时间】:2018-07-01 09:28:07
【问题描述】:

对于我在 Elastic BeanStalk 中的 nodejs 应用程序,没有 Beanstalk 负载均衡器,我想设置 Letsencrypt 证书并保留 AWS 提供的经典域:xxx.xxxx.elasticbeanstalk.com

经过多次搜索,我找到了两种可能的解决方案:

1 - 使用 .ebextensions 文件 => 安装 Certbot,获取 Letsencrypt 证书并配置 Nginx。

关于那个的好帖子 => https://bluefletch.com/blog/domain-agnostic-letsencrypt-ssl-config-for-elastic-beanstalk-single-instances/

2 - 从 ssh 连接,安装 Certbot,生成证书并将其上传到 IAM AWS。

文档 AWS : https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https-ssl-upload.html

对于这两种解决方案,我在 Certbot 进行域验证期间收到相同的错误消息。

我认为certbot生成的用于验证的目录不可访问..

错误:

To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address.

所以,我的问题是:设置 SSL 证书以在没有 Beanstalk 负载均衡器的情况下为 Node Js Elastic BeanStalk 应用程序获得绿锁的最佳方法是什么?

感谢您的帮助。

【问题讨论】:

  • 您是否要为elasticbeanstalk.com 获取证书?您只能获取您拥有的域的证书,我很确定亚马逊拥有该域。如果您注册自己的域并获得证书,您应该能够将其安装到您的实例上。
  • @Brian 实际上,我没有域名,在这种情况下我无法使用 AWS Certificate Manager。我将此应用程序用作 webhook 来与 Facebook API 进行通信。这就是我需要加密连接的原因。谢谢您的回答。我终于找到了解决方案。我为 github.com/SammyHam/… 创建了一个 git

标签: node.js ssl nginx amazon-elastic-beanstalk lets-encrypt


【解决方案1】:

我终于找到了解决办法:

我从script 中获得灵感,并使用 WEBROOT MODE 创建了一个。

我创建了一个 git 来分享这个解决方案:

https://github.com/SammyHam/LetsEncrypt-SSL-config-for-Elastic-Beanstalk

【讨论】:

  • 感谢@Sam,我在 AWS Linux 2 Elastic Beanstalk 设置上尝试了您的 github 代码,但得到 502 Bad Gateway。我的日志显示以下connect() failed (111: Connection refused) while connecting to upstream, client: 132.123.234.43, server: localhost, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3030/", host: "mydomain.uk"
猜你喜欢
  • 2017-01-07
  • 1970-01-01
  • 1970-01-01
  • 2020-11-21
  • 2011-12-22
  • 2016-07-26
  • 2018-02-28
  • 2017-09-28
  • 1970-01-01
相关资源
最近更新 更多