Мой сервер NodeJS не работает при удалении сервера - PullRequest
0 голосов
/ 10 февраля 2019

Когда я запускаю свой сервер NodeJS на удаленном сервере, например, с помощью скрипта «next», он успешно компилируется и получает «Running in localhost: 3000», но когда я пытаюсь войти в ip: 3000, не получил ответ от сервера.Что мне делать?

Сервер Ubuntu.

Сервер правильно отвечает без: 3000

Ответы [ 3 ]

0 голосов
/ 10 февраля 2019

Отладка может проходить по пути, указанному в следующих строках:

  • Убедитесь, что сервер действительно работает на этом компьютере.Попробуйте подключиться к нему локально из другой оболочки на той удаленной / серверной машине (используйте curl, если машина безголовая).Если он не работает локально, вы явно не сможете подключиться удаленно.

  • Предполагая, что служба действительно работает, определите, есть ли у вас правильный IP-адрес для удаленного компьютера.Запуск чего-то вроде ifconfig (ipconfig для windows, я думаю?) Скажет вам об этом.

  • Определите, можете ли вы подключиться к устройству вообще по сети.Вы можете попытаться отправить ему эхо-запрос или подключиться к другой услуге, которую, как вы знаете, она предлагает.Если вы не можете связаться с ним, он запускает брандмауэр, который мешает вам, или происходит трансляция адресов где-нибудь?

0 голосов
/ 10 февраля 2019

Если вы хотите получить удаленный доступ, вы не можете прослушивать ваш сервер, используя localhost

Попробуйте прослушать сервер в 0.0.0.0

var http = require('http');

http.createServer(function (req, res) {

    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');

}).listen(3000, "0.0.0.0");
0 голосов
/ 10 февраля 2019

Вы пытались открыть порты на вашем сервере для порта 3000?:)

Я нахожусь на Ubuntu, так что это может отличаться в вашей системе, но я думаю, что это должно работать для вас.

ufw allow 3000
...