使用 letsencrypt SSL 证书的 Amazon Alexa 自定义技能

Amazon Alexa Custom Skill using letsencrypt SSL Certificates

我正在尝试使用 Letsencrypt SSL 证书发布我的 Alexa 技能。 如果我使用 letsencrypt 证书浏览我的 https URL,Google Chrome 不会显示任何警告图标。

但是,当我尝试使用 Alexa 控制台进行测试时,出现如下错误: "SSL Handshake failed".

我在 Amazon Alexa 论坛上看到有关 letsencrypt 支持的讨论。 有的帖子说支持,有的说不支持。

这里有人可以澄清是否支持 letsencrypt 免费 SSL 证书来构建 自定义 alexa 技能

  1. 从您服务器上的 /etc/letsencrypt/live/<domain>/fullchain.pem 下载您的 fullchain.pem 证书的内容
  2. 在您的技能配置页面上,select "SSL" 选项卡
  3. 标记"I will upload a self-signed certificate in X.509 format."
  4. 粘贴您的 fullchain.pem 文件的内容。

在选择选项“我的开发端点是一个 sub-domain 具有来自开发人员控制台中的证书颁发机构”。

我还遇到了 Nginx 反向代理配置问题,该问题导致 Alexa 模拟器出现故障并且没有提供有用的错误。幸运的是,您还可以使用手动 JSON 选项,该选项会产生错误“无法与您的技能端点建立 SSL 连接”。

我能够将问题追溯到 ssl.conf 文件中的 ssl_ciphers 值。尽管它与 TLS 1.2 的 Intermediate Security 推荐设置兼容,但我不得不将其注释掉以使其工作。我希望其他人可以确定为什么亚马逊服务器在使用此设置时拒绝证书,可能是现在需要 TLS 1.3。