【问题标题】:How to perform an http post request to a device behind a router using DDNS & Python如何使用 DDNS 和 Python 向路由器后面的设备执行 http post 请求
【发布时间】:2021-10-19 12:08:06
【问题描述】:

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

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

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

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

你会如何实现我的目标?

【问题讨论】:

  • 你可以试试 ngrock 吗? ngrok.com
  • 您在flask 中是否使用0.0.0.0 而不是localhost?也许尝试其他端口 - 例如9000 - 因为系统可能会阻止一些较低的端口(出于安全原因)。或者,如果您可以在服务器上设置端口 801,则使用 80

标签: python django flask dns portforwarding


【解决方案1】:

有大约一千种方法可以做到这一点。

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

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

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

如果您想跟随以下文章,这篇文章做得不错:Meduim article

我的建议是使用ngrok

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 2020-10-28
    • 2016-08-08
    • 2013-05-12
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多