我正在开发一个自定义的Alexa技能并且有一个要求我希望Alexa访问http://localhost:8080本地托管的REST API?知道怎么做吗?
谢谢!
答案 0 :(得分:2)
如果你真的想这样做,而且我假设你在AWS Lambda上主持这项技能,那么它将涉及相当多的工作。
您的本地端点需要可以从网络外部访问,这需要将路由器中的端口转发到托管端点的计算机。这需要在路由器中配置。
更简单的方法是将包含API的项目部署到类似Heroku的项目,这可以轻松完成。它们为您提供了一个域,并使Lambda可以访问端点。这应该可以在他们的免费等级内完成。
答案 1 :(得分:1)
下面' link一篇关于IP地址如何工作的非常好的文章。
允许从本地网络外部(例如,从AWS上运行的服务)访问位于本地网络上的设备(例如,连接到您的wifi的笔记本电脑或Raspberry Pi)将涉及映射2个单独的IP地址:
您可以通过几种方式从本地网络外部访问路由器的IP(#1):
一个。支付您的互联网服务提供商为您提供静态IP地址 湾使用动态DNS服务,例如DuckDNS或No-IP。
一旦您拥有可用于访问路由器的固定公共IP,您就需要将路由器(#1)上的端口映射到本地网络上的设备IP(#2)。这通常被称为"端口转发"。大多数路由器都支持配置它。实际上,你告诉你的路由器"当你收到消息时:将它传递给我的笔记本电脑:"
您的本地私有IP地址通常具有类似于192.168.0.23的IP值(其中23可以是1到254之间的任何值)。
外部IP将以192以外的其他内容开始。请参阅上面关于IP范围的第一个链接。
你可以google"端口转发"和#34;公共知识产权"有关IP地址和端口转发如何工作的更多信息,但希望这将有助于您入门。起初看起来有点复杂,但如果我能理解它,那么任何人都可以: - )