Eu tenho uma micro instância do Amazon EC2 com o servidor Windows 2008 e implantei um aplicativo Web de exemplo por lá, que usa java e implantado no servidor tomcat 7. Consigo acessá-lo localmente na instância, mas quando tentei acessá-lo fora da instância da AWS, digamos no meu computador doméstico usando o DNS público da AWS / endereço IP público / endereço elástico da instância, ele me dá "A página da Web é não disponível".
Passei por tantas perguntas semelhantes neste fórum e acho que fiz todas as configurações que eles estão pedindo, mas ainda assim não obtém sucesso.
Aqui está o que eu fiz / confirmei.
1. localhost funciona, então o aplicativo escuta na porta 80.
2. adicionada regra de entrada para HTTP na porta 80 para todos no grupo de segurança que minha instância está usando.
3. verifique a configuração do firewall na instância do Windows, verifique se a porta 80 não está bloqueada.
4. tentei mesmo com desativar o firewall, mas sem sucesso.
Eu realmente aprecio se alguém puder me ajudar nisso.
Obrigado, NS
fonte
Respostas:
Tive um problema frustrante semelhante ao instalar o JetBrains YouTrack em uma instância do Windows Server 2012 ec2. O que funcionou para mim foi abrir as portas do firewall do Windows que o java usava especificamente e desativar a porta do serviço World Wide Publishing. Também tive que executar o serviço YouTrack na conta LocalSystem em vez da conta padrão.
Tente o seguinte:
Desative o site padrão no IIS, se estiver em uso
Execute um netstat -a -b para descobrir as portas às quais o java.exe estava tentando se conectar, por exemplo:
TCP 0.0.0.0:80 WIN-9NFIG6IEPT6: 0 LISTENING [java.exe]
TCP 127.0.0.1:49306 WIN-9NFIG6IEPT6: 49307 ESTABELECIDO [java.exe]
Abra o gerenciador de controle de serviço, clique com o botão direito do mouse no serviço e abra a caixa de diálogo de propriedades. Na guia Logon como, selecione Conta do sistema local como a conta em que o serviço é executado. É importante que este usuário seja administrador
Crie uma nova regra para o Tomcat com a porta TCP 80 e qualquer outra porta necessária.
Salve a regra e teste seu URL de fora do servidor.
fonte
Você não deve desativar completamente a configuração do firewall. Isso comprometeria a segurança do seu aplicativo. Em vez disso, modifique as regras de firewall de entrada do servidor Windows para permitir o tráfego de entrada em portas específicas.
Eu tive um problema semelhante ao implantar um aplicativo no Tomcat 8 no servidor Windows 2012 provisionado pelo AWS EC2. Eu pude acessar o aplicativo implantado em http: // localhost: 8080 de dentro da VM, mas não da Internet pública depois de substituir a cadeia localhost na URL pelo endereço IP público da VM.
Funcionou bem depois que alterei as regras do firewall para permitir o tráfego de entrada na porta 80 (para http), porta 443 (para https) e porta 8080 (esta é a porta na qual meu aplicativo Web foi implantado por padrão no servidor tomcat.
Eu documentei as configurações do grupo de firewall e segurança no link abaixo:
http://abhirampal.com/2015/08/04/firewall-config-for-java-web-app-hosted-on-aws-ec2-windows-2012-server/
fonte
Você provavelmente configurou incorretamente o servidor da web. Você pode testar isso conectando-se ao servidor via:
se você não estiver recebendo um erro, poderá se conectar. Nesse caso, você não configurou o servidor da web corretamente.
fonte
Uma regra para a porta TCP de entrada 80 pode precisar ser inserida no AWS Security Group para sua instância.
fonte
Pode ser necessário disponibilizar a porta para ouvir qualquer chamada pública do console da AWS.
fonte
Siga este link http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-network-security.html , Seção Grupos de segurança
Crie um grupo de segurança para sua instância do EC2 para permitir conexões nas portas que você deseja.
fonte
Duas coisas para mim:
Modificação do grupo de segurança conectado à minha instância do RDS para permitir entrada e saída de tráfego
Definindo regras de entrada e saída no RDS para a porta do aplicativo
Etapas detalhadas:
Na barra superior do seu console da AWS, clique em Serviços, selecione EC2
No menu esquerdo da próxima janela, em instâncias, clique em instâncias para visualizar suas instâncias.
Na tabela que contém a instância que você deseja acessar do público, role para a direita até uma coluna denominada Grupos de Segurança. Clique neste grupo de segurança.
Clique em Salvar
Agora, faça login no seu AWS RDS para definir regras de entrada e saída através do firewall
Inicie o painel de controle. Clique em Sistema e segurança (pode ser o primeiro) e clique em Windows Fire wall. Em seguida, clique em Configurações avançadas
Clique no menu Regras de entrada à esquerda.
Na guia Ações (à direita), clique em Nova regra
Selecione Porta e clique em Avançar
Selecione TCP (se não estiver selecionado) e, abaixo, selecione Portas locais específicas.
No campo, insira o número da porta do seu aplicativo e clique em Avançar
Selecione Permitir a conexão e clique em Avançar.
Especifique o nome da regra. Algo como o nome do seu aplicativo para fins de legibilidade e clique em Concluir
Então vamos configurar o tráfego de saída
fonte
Por favor, consulte o link .. Seria mais específico.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
Você pode permitir a comunicação entre todas as instâncias associadas a este grupo de segurança ou entre instâncias associadas a outro grupo de segurança e instâncias associadas a esse grupo de segurança. Clique em Adicionar regra, selecione Todo o ICMP e comece a digitar o ID do grupo de segurança na Origem; isso fornece uma lista de grupos de segurança. Selecione o grupo de segurança da lista. Repita as etapas para os protocolos TCP e UDP. Clique em Salvar quando terminar.
fonte
É principalmente o problema com o Firewall do Windows. Eu tentei os mesmos passos que você, não foi bem sucedido. No momento em que liguei o firewall, estava tudo bem. Acho que a segurança não deve ser afetada, pois estamos configurando regras de entrada e saída.
fonte
Para instância do WINDOWS - clique com o botão direito do mouse no nome da instância do EC-2, navegue até o arquivo .pem criado durante a criação da instância e clique em Descriptografar senha. Você obterá o nome de usuário e a senha para se conectar via Iniciar -> Executar -> mstsc -> IP do Windows com autenticação do Windows como administrador e sua senha
Para Instância LINUX -> Faça o download do puttygen e clique no botão LOAD para selecionar o arquivo .pem e, em seguida, clique no botão GERAR para gerar um arquivo ppk. Via putty, digite o IP e, em Connections -> SSH -> AUTH -> Browse, selecione o arquivo .ppk e salve as sessões de putty.
fonte