【问题标题】:Alexa Skills Kit not able to connect to my https serverAlexa Skills Kit 无法连接到我的 https 服务器
【发布时间】:2017-01-14 20:54:44
【问题描述】:

我有一个使用自签名证书进行身份验证的 Node.js https 服务器。我现在正在使用我的公共 IP 地址 (xxx.xxx.xxx.xxx) 而不是域名。为了测试这一点,我在路由器上转发了端口 8080,然后转到https://xxx.xxx.xxx.xxx:8080,果然没有锁定符号。 Chrome 会识别证书,并建立安全连接。

如果 Chrome 可以看到我的网络服务,为什么 Alexa 不能?我基本上遵循了here 的步骤。我在 Amazon Developer Portal 中创建了一个新的 Alexa Skill,创建并上传了我的 openssl 证书(已被证明有效),并将端点设置为 https://xxx.xxx.xxx.xxx:8080。所以 Alexa 应该能够访问我的网络服务。相反,我得到:

测试错误(在 Amazon Developer Portal 中测试时)

The remote endpoint could not be called, or the response it returned was invalid.

卡错误(要求 Echo 启动服务时在 Alexa 应用程序中)

A connection could not be established to Resource [https://xxx.xxx.xxx.xxx:8080], Type [HTTP], Region [NA]

【问题讨论】:

标签: web-services amazon-web-services https ip-address alexa-skills-kit


【解决方案1】:

为了实现 Alexa 技能,您必须在端口 443(或 lambda)上指定一个 HTTPS 端点。

实际上,我认为端口限制是一种通用限制,适用于访问 AWS 外部资源的 AWS 资源,因此我不希望它很快改变。

可能的解决方法包括 lambda 代理和由 BST 工具运行的代理服务,但在您的情况下,听起来您可以重新配置您的路由器。

【讨论】:

  • 我将代码中的端口更改为 443,并将端口转发为 443。但是当我在浏览器中打开时,https://xxx.xxx.xxx.xxx:443 会转到我的路由器页面而不是我的服务。如何将其配置为在 443 上工作而不会发生冲突?
  • 当你在浏览器中打开它时,你就在路由器后面。使用curl 从外部机器连接到它,看看它的工作方式是否与外部不同。冲突可能只在内部。
  • 嘿,汤姆,你能扩展一下吗?我知道已经有一段时间了。我有一个智能家居技能和 lambda,我正试图链接到 Alexa 应用程序。它失败了,因为我的 oauth 2.0 服务在 https 但在 8123 上运行。假设这就是问题所在。它在测试中起作用,但在链接中不起作用。我不知道也找不到任何容易理解的东西来描述如何使用“lambda”来解决这个问题或代理。我假设某些东西在亚马逊的服务器上运行,监听 443,它接收请求,所以亚马逊很高兴,然后将这些请求转发到我端口上的服务器?
  • @John 抱歉,过去几年我没有做过任何 ASK。
猜你喜欢
  • 1970-01-01
  • 2023-03-06
  • 2013-10-28
  • 2016-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多