Я не самый знающий парень, когда-либо работающий с сетями, но здесь идет ...
Я создал приложение с NodeJS, и я хотел бы проверить приложение в моей локальной сети со своей семьей. Приложение прослушивает порт 1337
для подключения , и я могу получить доступ к штрафу приложения через мой собственный компьютер, набрав localhost:1337
, 192.168.0.3:1337
или даже http://joel-pc:1337/
в адресной строке браузера.
Я также буду работать с Apache вместе с NodeJS, и я могу получить доступ к этому штрафу, набрав 192.168.0.3
или http://joel-pc/
в адресной строке браузера, если он подключен к той же сети.
Теперь вот странная часть; Если я остановить службу Apache, изменить мое приложение узла прослушивать порт 80
(HTTP) InstEd из 1337
, он будет доступен на моем компьютере с помощью набора текста localhost
, 192.168.0.3
или даже http://joel-pc
в адресной строке браузера. Тем не менее, я все еще не могу получить доступ к NodeJS на любом другом компьютере в моей сети, кроме моего собственного.
Я попытался создать исходящее правило в Windows 7, чтобы разрешить доступ к порту 1337, но я все еще не могу получить доступ к своему серверу NodeJS на любом другом компьютере, кроме моего, даже если он прослушивает порт 80. Есть ли что-то очевидное Я пропускаю здесь?
источник
Ответы:
Скорее всего, приложение вашего узла привязывается к петлевому IP-адресу
127.0.0.1
вместо «всех IP-адресов»,0.0.0.0
так как это поведение по умолчаниюlisten
. Укажите порт и IP-адрес в своем вызове, как,server.listen(80, '0.0.0.0');
и попробуйте еще раз.источник
localhost
работает как строка, но в других вы должны набрать ее как127.0.0.1
Получите текущий IP-адрес локальной сети и запустите http-сервер следующим образом:
источник
::
или0.0.0.0
)Во-первых, вам нужно добавить
C:\Program Files (x86)\node
в список доверенных приложений в вашем брандмауэре.Затем в приложении вашего узла вы можете написать:
или:
или:
или:
или:
или:
Каждая из этих 6 комбинаций работает в моем случае: node.js на Windows Server 2016, защищенный прокси-сервером компании.
источник
Выполнение следующих работ у меня работало на ПК с Windows. Попробуйте это: открыть
Затем найдите в списке файл node.js и нажмите «Изменить настройки»> Убедитесь, что частный доступ проверен, а затем нажмите «ОК».
источник
Я нашел хорошее решение для этой проблемы. Вместо того, чтобы делать все настройки (настройка брандмауэра, переадресация порта и т. Д.), Я использовал localtunnel, который является утилитой для показа сервера локального узла через Интернет. Вы можете использовать его для разработки, тестирования, совместного использования, просто не используйте его для производства.
Сначала вы должны установить localtunnel следующим образом:
После этого настройте приложение узла так, чтобы сервер узла работал на локальном хосте. Например:
Запишите your_port, который в моем случае был 3000 , и запустите сервер вашего узла.
Откройте другой терминал и введите следующую команду для запуска localtunnel.
После этого в терминале вы получите URL, который вы можете использовать для разработки / тестирования. Этот URL будет доступен в Интернете, чтобы вы могли поделиться им с другими. Пока ваш localtunnel работает, другие могут получить доступ к вашему серверу локальных узлов.
Для получения дополнительных параметров конфигурации / справки вы можете просмотреть документацию: https://www.npmjs.com/package/localtunnel
источник