【发布时间】: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