Как выполнить http post запрос к устройству за маршрутизатором с помощью DDNS и Python

Для более быстрого создания прототипов моего кода я хотел бы предоставить адрес моего ноутбука в качестве конечной точки для http webhook API (Base URL) сайта cloud.thethings.network.

Для этого я настроил ddns на noip.com и подключил мой маршрутизатор tp-link к моему noip-аккаунту. Так что сейчас у меня есть что-то вроде myneedddns.ddns.com, который перенаправляет на мой маршрутизатор.

Я также настроил перенаправление портов в маршрутизаторе для доступа к ноутбуку и зарезервировал статический IP для ноутбука: enter image description here

Однако я не могу предоставить формат вроде xxx.ddns.com:801 на thethingsstack. Оттуда я, вероятно, смогу справиться с получением запроса с помощью flask или django.

Как бы вы подошли к моей цели?

Существует около тысячи способов сделать это.

  1. Use a service like ngrok.com to tunnel directly which in your case is likely the best way.

  2. Use port forwarding on your router (what you are trying to do). This would be done by setting up ddns on your laptop then forwarding whatever port you want to use to whatever port is running the service on your laptop. Note that this requires setting the host on your server to '0.0.0.0' and is insecure so cant be used past development.

  3. Create a VPN using a cloud service then forwarding the port. I don't recommend this but you could create a VPN that would forward the port though this requires that you know a lot about sysadmin, linux, and setting up VPN's

Вот статья, которая делает приличную работу, если вы хотите, чтобы вам было за чем следить: Медуимская статья

Мой совет - просто использовать ngrok

Вернуться на верх