如何使用 DDNS & Python 向路由器后面的设备执行 http post 请求

How to perform an http post request to a device behind a router using DDNS & Python

为了更快地制作我的代码原型,我想提供我的笔记本电脑地址作为网站 cloud.thethings.network 的 http webhook API(基础 URL)的端点。

为此,我在 noip.com 上设置了一个 ddns,并将我的 tp-link 路由器连接到我的 noip-account。所以现在,我有……像转发到我的路由器的 myneedddns.ddns.com。

我还在我的路由器上设置了端口转发来访问我的笔记本电脑,并为笔记本电脑预留了一个静态IP:

但是,我无法在 thethingsstack 上提供类似 xxx.ddns.com:801 的格式。从那里我可能可以处理如何使用 flask 或 django 接收请求。

你会如何实现我的目标?

大约有上千种方法。

  1. 使用 ngrok.com 之类的服务直接建立隧道,在您的情况下这可能是最好的方式。

  2. 在你的路由器上使用端口转发(你正在尝试做的)。这可以通过在您的笔记本电脑上设置 ddns,然后将您想要使用的任何端口转发到笔记本电脑上 运行 服务的任何端口来完成。请注意,这需要将服务器上的主机设置为“0.0.0.0”,并且不安全,因此无法在过去的开发中使用。

  3. 使用云服务创建 VPN,然后转发端口。我不推荐这样做,但你可以创建一个 VPN 来转发端口,尽管这需要你对系统管理员、linux 和设置 VPN 有很多了解

如果您想继续阅读,这里有一篇文章做得不错:Meduim article

我的建议是只使用 ngrok