Это часть кода в nodejs.
const app = express();
const server = app.listen(3000);
app.use(express.static("public"));
console.log("Server is running");
const io = socket(server);
Работает на локальном хосте. Что нужно сделать, чтобы любой человек в мире мог к нему подключиться?
решение1
Внимание: открытие вашего компьютера для Интернета подразумевает некоторые риски безопасности. Рассмотрите возможность использования выделенного компьютера (или Raspberry), делайте резервные копии, ограничьте время доступа к вашему серверу из Интернета до минимума, пока вы не узнаете, как его защитить, узнайте о безопасности (мне нравитсяhttps://tryhackme.com/).
Определите свой публичный адрес, используя, например,https://whatismyipaddress.com/ Этот адрес предоставлен вашим интернет-провайдером.
Вам почти наверняка понадобится открыть порт 3000 в локальном брандмауэре вашего компьютера (это сильно зависит от вашей ОС/дистрибутива, но как это сделать, уже описано где-то в Интернете).
Попробуйте подключиться к http://<you.ip.num.bers>:3000
Если это не сработает (что скорее всего), вам придется настроить маршрутизатор/устройство для выполнения трансляции сетевых адресов/трансляции адресов портов (NAT/PAT), чтобы входящие запросы перенаправлялись на ваш компьютер.
Вам нужно будет определить IP-адрес вашего локального компьютера ( ip addr
или ipconfig
с терминала).
Подключитесь к своему ящику и найдите раздел о конфигурации NAT/PAT. Добавьте перенаправление с порта 80 интерфейса WAN ("интернет") на ip вашего компьютера и выбранный вами порт (3000 в вашем примере).
После этого вы сможете подключиться к своему сайту из любой точки мира, используя свой публичный IP-адрес: http://<your.ip.num.bers>. Добавлять :80 не нужно, это порт по умолчанию для http.
Кажется, вы находитесь в начале славного пути к сисадминству. Вероятно, вы захотите узнать о DNS и доменных именах, обратном прокси и брандмауэрах.