Разрешить удаленному серверу доступ к серверу API на локальном хосте - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь сделать некоторую домашнюю автоматизацию с моим Raspberry Pi.Сейчас я настроил сервер API Node + Express (адрес http://192.168.100.100:3000, локальная папка ~/api), который используется для отправки сигнала в кондиционер и получения информации от него.

В сторону IМы создали веб-приложение с Vuejs для управления AC и настроили сервер Nginx для доступа к веб-приложению (адрес: http://192.168.100.100, локальная папка ~/controller/dist).Все отлично работает в локальной сети, но я хочу получить доступ ко всему удаленно.Итак, я перенаправил порт 80 и могу получить доступ к веб-приложению через Интернет, но он не работает, потому что не может получить доступ к серверу API.

Это нормально, и ядолжен также перенаправить порт 3000, или есть способ указать приложению искать API на локальном хосте?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Оба должны работать в локальной сети, потому что все знают, кто есть кто.Если связь между серверами, оба должны работать, потому что это тот же сценарий.Но если клиент выполняет Ajax для связи с сервером, вам следует также перенаправить порт 3000.Поскольку запрос находится вне локального контекста (если вы вне вашей сети).

сервер к серверу: localhost -> localhost

клиент (браузер) к серверу: internet -> localhost

Вы можете избежать пересылки, если сервер (локальный) выполняет запрос к клиенту (удаленному).

0 голосов
/ 28 мая 2018

Вы можете переадресовать порт 3000, и он должен работать.

Другой вариант - использовать ngrok .Это позволяет вам открыть туннель (независимо от настроек брандмауэра) прямо к вашему API.Все, что вам нужно сделать, это зарегистрировать бесплатный аккаунт, и вы сможете иметь один туннель, работающий бесконечно.Единственным недостатком является то, что вам нужно использовать их shortUrl (например, https://asdasd12.ngrok.io, который меняется при каждом перезапуске. Вы можете заплатить, чтобы избавиться от этого, и получить постоянный поддомен (например, https://myniceapi.ngrok.io)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...