Presumivelmente, você quer dizer este exemplo:
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/');
A mensagem que você teria recebido assim é Servidor em execução em http: // 127.0.0.1 : 1337 / - a parte enfatizada é a chave aqui, ou seja, o servidor foi configurado para escutar o endereço IP 127.0.0.1 (também conhecido como localhost ), enquanto você está tentando navegar através dele o seu endereço IP elástico.
Assim, você pode atingir seu objetivo substituindo 127.0.0.1 na declaração listen()
pelo endereço IP privado / interno que foi atribuído à sua instância do EC2.
Variações
Como alternativa, você pode usar o nome DNS público / externo, que exibe uma resolução de endereço IP dinâmico menos conhecida, dependendo da origem da consulta DNS. Por que eu tenho dois endereços IP e dois nomes de host? :
The external DNS name (which looks like ec2-72-44-45-204.compute-1.amazonaws.com) resolves to the public IP address of the instance outside the Amazon EC2 network and the private IP address from within Amazon EC2 network.
Finalmente (de acordo com o comentário do cyberx86, obrigado!), você pode ser capaz de omitir o parâmetro opcional address (mas veja abaixo), veja server.listen (porta, [hostname], [callback]) :
If the hostname is omitted, the server will accept connections directed to any IPv4 address (INADDR_ANY).
Esteja ciente, porém, de que isso nem sempre é a coisa certa em cenários avançados, na medida em que pode haver mais de uma interface de rede disponível após a recente introdução de Elastic Network Interfaces (ENI) na Virtual Private Cloud (VPC) , que é dando-lhe a capacidade de criar ENIs adicionais e de anexar um segundo ENI a uma instância (mais uma vez, isto é dentro do VPC) .