Я нажимаю на API PhilipsHue, чтобы включить / выключить свет. Тем не менее, я могу сделать это только во внутренней сети моего дома, и поэтому я хочу иметь возможность получить к нему доступ извне, поэтому вот что я попробовал, выполнив некоторые исследования о том, как это сделать.

  1. Мое приложение узла, в котором размещается этот API, работает на localhost:80 на моем mac, так что это в значительной степени мой локальный внутренний сервер. Этот Mac имеет внутренний IP 192.168.1.220 .
  2. Я вошел в настройки маршрутизатора и перенаправил порт 6000 на мой Mac.

  1. Затем я попытался получить доступ к своему приложению через <Gateway IPv4 Address>:6000 который, как я понимаю, является внешним IP-адресом моего маршрутизатора. Я ожидал, что он будет действовать аналогично прокси-серверу nginx, когда запросы, поступающие по <Gateway IPv4 Address>:6000 будут перенаправлены на 192.168.1.220:80 (внутренний IP-адрес моего mac), но не повезло. Почтальон говорит, что "не может получить никакого ответа".

2 ответа2

1

Там может быть много причин для этого. Скорее всего, ваше соединение - DHCP, и, возможно, вы попытались подключиться после возобновления аренды. Вам следует обратиться к своему интернет-провайдеру и проверить, разрешат ли они вам статический адрес, если нет, инвестировать в модем или маршрутизатор с поддержкой VPN.

Во-вторых, вы не сообщили подробности о том, включен ли ваш брандмауэр на Mac. Если это так, сделайте исключение для вашего соединения.

В-третьих, я не уверен, как у вас есть ваша инфраструктура. Есть ли у вас модем / маршрутизатор или у вас есть модем, который перенаправляет трафик на модем. Если у вас есть две единицы оборудования, одно из этих устройств может блокировать трафик. Проверьте ваш модем и журнал маршрутизатора и посмотрите, видите ли вы соединение.

В-четвертых, даже если вы перенаправили порт 6000, вам все равно может потребоваться переадресация 80, поскольку это порт, через который вы подключаетесь. Порт 6000 - это просто порт на сервере, на который вам нужно перейти. Скорее всего, это не так, но поставьте его последним, чтобы сначала можно было проверить другие шаги:D

0

Согласитесь с @RonMaupin.

Эта конфигурация называется PAT. Это позволяет нам сопоставить порт внешнего IP-адреса с портом внутреннего IP-адреса. Обычно нам нужно 4 параметра для его настройки.

  1. внешний IP-адрес (по умолчанию это IP-адрес WAN вашего маршрутизатора)
  2. внешний порт (в вашем случае это 6000)
  3. внутренний IP-адрес (в вашем случае это 192.168.1.220)
  4. внутренний порт (он должен быть 80 и его нет на скриншоте, поэтому я подозреваю, поддерживает ли ваш маршрутизатор перенаправление внешнего запроса на другой порт)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .