A maneira mais fácil de fazer isso sem instalar algo é colocar o Amazon Elastic Load Balancer na frente da instância. Estes permitem que você encaminhe as portas como você pretende.
Eu tenho um aplicativo da web em execução no Amazon EC2. Ele escuta na porta 9898.
Eu posso acessá-lo inserindo o endereço IP e o número da porta.
por exemplo, 1.2.3.4:9898
No entanto, o que eu realmente gostaria de poder fazer é não precisar digitar o número da porta.
Ao pesquisar isso, parece que o encaminhamento de porta pode ser a solução - ou seja, encaminhar solicitações http recebidas na porta padrão (80) para minha porta não padrão (9898).
Este é o caminho correto a seguir? Se sim, como configuro isso no EC2?
Se não, então como faço para conseguir o que eu quero?
Agradecemos antecipadamente por qualquer ajuda.
Atualizar
Eu deveria ter mencionado que a instância do EC2 é uma AMI do Windows Server 2012.
Você tem duas opções.
1) Configure um proxy reverso para encaminhar as solicitações HTTP (supondo que seja HTTP) para uma porta diferente.
Deve ser tão simples como: Instalar o apache, ativar o módulo proxy_http, colocar algo como:
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass / http://localhost:9898/
ProxyPassReverse / http://localhost:9898/
2) Configure IP tables para encaminhar os pacotes .
porque vi o comentário sobre o uso do iptables, compartilharei minha experiência no ec2 linux. Eu encontrei um excelente artigo sobre o encaminhamento de portas para o Node.js. Se você pular para instruções sobre a edição de sysctl.conf, você verá as instruções de encaminhamento. Meu procedimento de Linux variou um pouco do Ubuntu. O artigo é: link
O trabalho é feito via ssh. A única pegadinha que eu encontrei foi pré-encaminhada duas vezes, sem flushing iptables entre, e meu aplicativo web não estava visível até que eu corasse e recarregasse. Eu sei que é uma imagem terrível para concluir, desculpe.