Большинство серверов работает на CentOS Linux (клон Redhat Linux). Ubuntu/Debian является также хорошим выбором. Зависит.. на которой платформе Вы способны. Все хороши.
Предположительно вы имеете в виду следующий пример:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
Сообщение, которое вы бы получили, такое: Сервер работает по адресу http: // 127.0.0.1 : 1337 / - выделенная часть здесь является ключевой, т.е. сервер настроен для прослушивания только IP-адреса 127.0.0.1 (также известного как localhost ), в то время как вы пытаетесь просматривать его через свой эластичный IP-адрес. .
Соответственно, вы можете достичь своей цели, заменив 127.0.0.1 в операторе listen ()
на частный / внутренний IP-адрес , который был назначен вашему экземпляру EC2.
В качестве альтернативы вы можете использовать вместо этого общедоступное / внешнее DNS-имя, которое демонстрирует менее известное динамическое разрешение IP-адреса в зависимости от источника DNS-запроса, см., Например, Почему у меня два IP-адреса и два имени хоста? :
Внешнее DNS-имя (которое выглядит как ec2-72-44-45-204.compute-1.amazonaws.com) разрешается на общедоступный IP адрес инстанса за пределами сети Amazon EC2 и частной IP-адрес из сети Amazon EC2.
Наконец (согласно комментарию cyberx86, спасибо!), Вы можете полностью опустить необязательный параметр адреса (но см. Ниже), см. сервер .listen (порт, [имя хоста], [обратный вызов]) :
Если имя хоста не указано, сервер будет принимать соединения направлен на любой IPv4-адрес (INADDR_ANY).
Однако имейте в виду, что это не всегда может быть правильным в расширенных сценариях, поскольку после недавнего внедрения Elastic может быть доступно более одного сетевого интерфейса. Сетевые интерфейсы (ENI) в виртуальном частном облаке (VPC) , что дает вам возможность создавать дополнительные ENI и присоединять второй ENI к экземпляру (опять же, он находится в VPC) .