我正在开发一款 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
答案3
我想提供 StartSSL 的替代方案。您可能想尝试 Certbot。它将负责颁发证书、更新您的 Nginx 配置,并在免费证书到期前自动续订。
与此相关的是,你可能想要为你的 webhook 注册一个域名或获取一个 Elastic IP。原因是当你的 EC2 实例因某种原因重新启动时,它将生成一个新的公共 IP和AWS 主机名。如果发生这种情况,您需要更新 Facebook 上的 webhook 配置。
如果你的聊天机器人仍处于开发过程中,你可能需要查看恩格罗克。您可以在您的机器上本地运行它,它将接受 HTTP 和 HTTPS 请求。最好的部分是您不必支付 AWS 托管费用。一旦您的聊天机器人准备就绪,您就可以将其部署在 AWS EC2 上并获得证书。