如何为 EC2 中的公共 DNS 路由启用 DNS over HTTPS

如何为 EC2 中的公共 DNS 路由启用 DNS over HTTPS

我正在开发一款 Facebook 机器人应用。要求是在我的网络服务器上设置一个网络书来返回一个令牌,以验证我的帐户。

我配置了一个微实例(Ubuntu)并创建了一个 Web 服务器(Express.js、Node.js、Nginx(proxy_pass))。

我允许此服务器的安全组的入站流量使用端口 443。

问题是他们要求HTTPS在 webhook 端点上启用。

如何使用他们提供给您的普通 AWS DNS 来实现这一点,而无需设置域和我自己的 SSL 证书?

这样就可以了:

https://ec2-52-90-117-111.compute-1.amazonaws.com

答案1

您可以继续使用来自 AWS 的域名,但无法避免使用外部颁发的 SSL 证书。受信任的 SSL 证书只能由外部实体颁发,您自己颁发的证书将无法颁发。

答案2

您可以获得由 startssl 颁发的免费 ssl 证书。它与 EC2 配合良好且易于设置。

https://www.startssl.com/Support?v=1

干杯!!

答案3

我想提供 StartSSL 的替代方案。您可能想尝试 Certbot。它将负责颁发证书、更新您的 Nginx 配置,并在免费证书到期前自动续订。

与此相关的是,你可能想要为你的 webhook 注册一个域名或获取一个 Elastic IP。原因是当你的 EC2 实例因某种原因重新启动时,它将生成一个新的公共 IPAWS 主机名。如果发生这种情况,您需要更新 Facebook 上的 webhook 配置。

如果你的聊天机器人仍处于开发过程中,你可能需要查看恩格罗克。您可以在您的机器上本地运行它,它将接受 HTTP 和 HTTPS 请求。最好的部分是您不必支付 AWS 托管费用。一旦您的聊天机器人准备就绪,您就可以将其部署在 AWS EC2 上并获得证书。

相关内容