2016-08-04 1 views
0

В настоящее время я работаю над проектом, в котором я использую малиновый pi в качестве сервера для сервера домашней автоматизации. Он отлично работает в моей локальной сети, но если я хочу использовать его с внешнего компьютера, мне нужно перенаправить используемый порт на мой маршрутизатор.Как создать сервер NodeJs, доступный из внешнего соединения без переадресации портов

Я пытаюсь найти способ заставить http (s) попасть на сервер без пересылки порта на маршрутизаторе. Я хочу этого, потому что, если бы я установил систему на свое место (возможно, клиент в будущем), я не хочу получать доступ к их маршрутизатору.

Я пробовал использовать SSL и https, но я столкнулся с той же проблемой.

Есть ли способ, которым это возможно, или это потерянный случай?

PS Я не могу использовать порт 80, так как он уже используется.

Заранее спасибо

+0

https://ngrok.com/ может помочь. – robertklep

ответ

2

Там два способа добраться до результата вы хотите:

  1. Port Forwarding, который вы освобождаемый
  2. Предоставление пи малиновый его собственный публичный IP-адрес (для которого требуется публичный IP-адрес и доступ к маршрутизатору для настройки маршрутизации трафика, который вы отклонили).

Итак, давайте вернемся в порт вперед.

Большинство потребительских маршрутизаторов в эти дни поддерживают NAT traversal via uPNP.

Вы можете использовать модуль nat-pmp, чтобы перенаправить маршрутизатор вперед к порту, не имея прямого доступа к маршрутизатору.

+0

также https://github.com/indutny/node-nat-upnp –

+0

Удивительный! :) посмотрим как можно скорее – jeroenvdbergh