Как из домашнего компьютера создать node js сервер?

Есть у меня проблема. Никак не могу сделать так, чтобы из интернета (по белому ip) можно было зайти на мою веб-страницу. Ip я нашёл на сайте 2ip.ru . Может нужно купить белый ip у провайдера? Я уже и фаервол настроил на роутере и компьютере, NAT настроил, поставил серый постоянный ip - 192.168.1.200. В Node JS использую http, ws. Может в http нужно не localhost ставить, а 0.0.0.0? Порт кстати, 2000 и 2001 соответственно для http и ws. Пытаюсь зайти на сайт по ip: AAA.BBB.CCC.DDD:2000 .
Тестовый код сервера для проверки работоспособности.
var HTTP = new require("http");
var FS = new require('fs');
const HTML = FS.readFileSync('server.html', 'utf8');
HTTP.createServer(function (req, res) {
	res.writeHead(200, {"Content-Type": "text/html"});
	res.end(HTML);
}).listen(2000, "localhost", function () {console.log("Server started!")});
  • Вопрос задан
  • 1637 просмотров
Решения вопроса 1
Jump
@Jump
Системный администратор со стажем.
Ip я нашёл на сайте 2ip.ru
Вот в этом ваша проблема.
Сайт 2ip.ru показывает адрес с которого вы выходите в интернет.
Разумеется это всегда белый IP адрес, ибо с серого выйти в интернет невозможно.
Клиенты имеющие серый адрес выходят с белого IP адреса шлюза провайдера - т.е сидят за NAT'ом провайдера.

Поэтому адрес который показывает 2ip.ru всегда белый, но не факт что это ваш адрес.

Смотрите свой адрес на своем оборудовании - на роутере, или компьютере который подключен непосредственно к провайдеру.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
profesor08
@profesor08
Пробрось порты (Port Forwarding), на локальный ip твоей машины, где установлен сервер. Далее в фаерволе открываешь эти порты. Все.
Ответ написан
Комментировать
mindtester
@mindtester
http://iczin.su/hexagram_48
192.168.1.200 это не серый, не коричневый, это локальный

вы или покупайте у провайдера внешний легальный адрес, либо используйте сервисы типа dyndns или dlinkddns (от производителя роутера)... или ngrok.com (автор/владелец предупреждает - сервис не предназначен для нагрузок)

ps как замечено в каментах сервисы типа dyndns или dlinkddns можно использовать, при условии что ваш роутер получает хотя бы сеансовый, но настоящий "белый" адрес. а 2ip.ru может показывать адрес прокси провайдера, через который может выходить много клиентов

ngrok.com будет работать в любой ситуации

pps ... а то ведь есть некоторые провайдеры, которые реально не продают белых ip
Ответ написан
@alekssamos
Программист любитель
Раньше Ростелеком выдавал белые (внешние) динамические адреса, а сейчас перестал, если раз 20 перегрузить - может и повезёт.

И да, не путайте понятия динамический и «серый» адрес.
Динамический - при каждом подключении меняется, может быть разным.
«серый» - не доступный из Интернета.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы