J'ai une micro-instance Amazon EC2 avec un serveur Windows 2008 et j'ai déployé un exemple d'application Web là-bas qui utilise Java et déployé sur le serveur Tomcat 7. Je peux y accéder localement sur l'instance, mais lorsque j'ai essayé d'y accéder en dehors de l'instance AWS, disons depuis mon ordinateur personnel en utilisant le DNS public AWS / l'adresse IP publique / l'adresse IP élastique de l'instance, cela me donne "La page Web est indisponible".
J'ai traversé tellement de questions similaires dans ce forum et je pense avoir fait tout le paramétrage qu'ils demandent, mais toujours pas de succès.
Voici ce que j'ai fait / confirmé.
1. localhost fonctionne, donc l'application écoute sur le port 80.
2. ajouté une règle entrante pour HTTP sur le port 80 pour tout le monde sous le groupe de sécurité que mon instance utilise.
3. vérifié le réglage du pare-feu sur l'instance de Windows, assurez-vous que le port 80 n'est pas bloqué.
4. essayé même avec désactiver le pare-feu, mais sans succès.
J'apprécierais vraiment que quelqu'un puisse m'aider à ce sujet.
Merci, NS
la source
Réponses:
J'ai eu un problème frustrant similaire lorsque j'ai installé JetBrains YouTrack sur une instance ec2 de Windows Server 2012. Ce qui a fonctionné pour moi a été d'ouvrir les ports du pare-feu Windows que java utilisait spécifiquement et de désactiver le port de service World Wide Publishing. J'ai également dû exécuter le service YouTrack sous le compte LocalSystem au lieu du compte par défaut.
Essaye ça:
Désactiver le site Web par défaut dans IIS s'il est en cours d'utilisation
Exécutez un netstat -a -b pour découvrir les ports auxquels java.exe tentait de se lier, par exemple:
TCP 0.0.0.0:80 WIN-9NFIG6IEPT6: 0 ECOUTE [java.exe]
TCP 127.0.0.1:49306 WIN-9NFIG6IEPT6: 49307 ESTABLISHED [java.exe]
Ouvrez le gestionnaire de contrôle des services et faites un clic droit sur votre service et ouvrez la boîte de dialogue des propriétés. Sous l'onglet Connexion en tant que, sélectionnez Compte système local comme compte sous lequel le service s'exécute. Il est important que cet utilisateur soit administrateur
Créez une nouvelle règle pour Tomcat avec le port TCP 80 et tout autre port dont il pourrait avoir besoin.
Enregistrez la règle et testez votre URL depuis l'extérieur du serveur.
la source
Vous ne devez pas désactiver complètement les paramètres du pare-feu. Cela compromettrait la sécurité de votre application. Modifiez plutôt les règles de pare-feu entrant du serveur Windows pour autoriser le trafic entrant sur des ports spécifiques.
J'ai eu un problème similaire où j'avais déployé une application sur Tomcat 8 sur un serveur Windows 2012 provisionné via AWS EC2. J'ai pu accéder à l'application déployée sur http: // localhost: 8080 depuis la VM mais pas depuis Internet public après avoir remplacé la chaîne localhost dans l'URL par l'adresse IP publique de la VM.
Cela a bien fonctionné après avoir modifié les règles de pare-feu pour autoriser le trafic entrant sur le port 80 (pour http), le port 443 (pour https) et le port 8080 (c'est le port sur lequel mon application Web a été déployée par défaut sur le serveur tomcat).
J'ai documenté les configurations de pare-feu et de groupe de sécurité sur le lien ci-dessous:
http://abhirampal.com/2015/08/04/firewall-config-for-java-web-app-hosted-on-aws-ec2-windows-2012-server/
la source
Vous avez probablement mal configuré le serveur Web. Vous pouvez le tester en vous connectant au serveur via:
si vous n'obtenez pas d'erreur, vous pouvez vous connecter. Dans ce cas, vous n'avez pas configuré correctement le serveur Web.
la source
Il peut être nécessaire de saisir une règle pour le port TCP entrant 80 dans le groupe de sécurité AWS de votre instance.
la source
Vous devrez peut-être rendre le port disponible pour écouter tout appel public à partir de la console AWS.
la source
Veuillez suivre ce lien http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-network-security.html , Section Groupes de sécurité
Créez un groupe de sécurité pour votre instance EC2 pour autoriser les connexions sur les ports souhaités.
la source
Deux choses pour moi:
Modification du groupe de sécurité attaché à mon instance RDS pour autoriser le trafic entrant et sortant
Définition des règles entrantes et sortantes dans le RDS pour le port d'application
Étapes détaillées:
Dans la barre supérieure de votre console AWS, cliquez sur Services, sélectionnez EC2
Dans le menu de gauche de la fenêtre suivante, sous instances, cliquez sur instances pour afficher vos instances
Dans le tableau qui contient l'instance à laquelle vous souhaitez accéder depuis le public, faites défiler vers la droite jusqu'à une colonne nommée Groupes de sécurité. Cliquez sur ce groupe de sécurité.
Appuyez sur Enregistrer
Connectez-vous maintenant à votre AWS RDS pour définir des règles entrantes et sortantes via le pare-feu
Lancez le panneau de configuration. Cliquez sur Système et sécurité (peut-être le premier), puis sur Pare-feu Windows. Cliquez ensuite sur Paramètres avancés
Cliquez sur le menu Règles entrantes à gauche.
Dans l'onglet Actions (à droite), cliquez sur Nouvelle règle
Sélectionnez le port et cliquez sur suivant
Sélectionnez TCP (s'il n'est pas sélectionné) et sous Sélectionner des ports locaux spécifiques.
Dans le champ entrez le numéro de port de votre application et cliquez sur suivant
Sélectionnez Autoriser la connexion et cliquez sur Suivant.
Spécifiez le nom de la règle. Quelque chose comme le nom de votre application à des fins de lisibilité et cliquez sur Terminer
Permet ensuite de configurer le trafic sortant
la source
Veuillez vous référer au lien ... Ce serait plus précis.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
Vous pouvez autoriser la communication entre toutes les instances associées à ce groupe de sécurité, ou entre les instances associées à un autre groupe de sécurité et les instances associées à ce groupe de sécurité. Cliquez sur Ajouter une règle, sélectionnez Tout ICMP, puis commencez à taper l'ID du groupe de sécurité dans Source; cela vous fournit une liste de groupes de sécurité. Sélectionnez le groupe de sécurité dans la liste. Répétez les étapes pour les protocoles TCP et UDP. Cliquez sur Enregistrer lorsque vous avez terminé.
la source
C'est surtout le problème avec le pare-feu Windows. J'ai essayé les mêmes étapes que vous, mais cela n'a pas réussi. Au moment où je me suis détourné du pare-feu, tout allait bien. Je pense que la sécurité ne devrait pas être affectée car nous configurons les règles sortantes entrantes.
la source
Pour l'instance WINDOWS - Cliquez avec le bouton droit sur le nom de l'instance EC-2, recherchez le fichier .pem créé lors de la création de l'instance et cliquez sur Décrypter le mot de passe. Vous obtiendrez le nom d'utilisateur et le mot de passe pour vous connecter via Démarrer -> Exécuter -> mstsc -> IP Windows avec authentification Windows en tant qu'administrateur et son mot de passe
Pour l'instance LINUX -> Télécharger puttygen et cliquez sur le bouton LOAD pour sélectionner le fichier .pem puis cliquez sur le bouton GENERATE pour générer un fichier ppk. Via putty, entrez l'IP et sous Connexions -> SSH -> AUTH -> Parcourir pour sélectionner le fichier .ppk et enregistrer les sessions de putty.
la source