我有一个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]
答案 0 :(得分:0)
为了实现Alexa技能,您必须在端口443(或lambda)上指定HTTPS端点。
实际上,我认为端口限制是适用于访问AWS外部资源的AWS资源的一般限制,所以我不希望它很快就会发生变化。
可能的解决方法包括由BST工具运行的lambda代理和代理服务,但在您的情况下,您可能只是重新配置路由器。