Я запускаю Apache на своем сервере. Переход на мой адрес x.x.x.x: порт загружает страницу index.html в/var/www. Когда я останавливаю сервер, я больше не могу подключаться (все хорошо).Не удается подключиться к серверу nodejs
Теперь я запускаю сервер узлов с node server.js
(файл server.js ниже также находится в/var/www).
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(port, 'x.x.x.x');
console.log('Server running at http://x.x.x.x:port/');
Это дает ошибку listen EADDRNOTAVAIL
, но я не работаю какой-либо другой сервер узла (нет другого процесса, работающего в этом порту).
Я также попытался опуская IP-адрес и просто слушать, таким образом: listen(port);
Это не возвращает никаких ошибок, но я не могу подключиться к серверу (Браузер говорит: Firefox can't establish a connection to the server at x.x.x.x:p.
)
У меня такое чувство, что вы используете неправильный IP-адрес, проверьте 'ifconfig', чтобы убедиться, что используете тот, который вам кажется. Возможный дубликат: http://stackoverflow.com/questions/6829563/nodejs-error-eaddrnotavail-cannot-assign-requested-address Вы также можете попробовать прослушивать все интерфейсы с помощью '0.0.0.0', если вы опустите имя хоста по умолчанию это '127.0.0.1', так что вы не сможете подключиться удаленно – Chad
@ Я пробовал изменить IP-адрес на тот, который указан в ifconfig, но переход к этому адресу истекает время соединения. – user2787904
Тем, кто пришел сюда через Google: если вы разместили службу в облаке Google и столкнулись с этой проблемой, сначала ** убедитесь, что вы добавили порт в правила исключения из [облачного брандмауэра] (https: // console. cloud.google.com/networking/firewalls), а также в брандмауэре операционных систем ** – Atul