Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Pourquoi ne puis-je pas me connecter à un site Web hébergé sur mon instance EC2 ?
Je ne parviens pas à me connecter à un site Web public hébergé sur mon instance Amazon Elastic Compute Cloud (Amazon EC2).
Brève description
Pour résoudre les problèmes liés aux sites Web inaccessibles, vérifiez que vous avez correctement paramétré la configuration du site Web de votre instance EC2. Des paramètres de serveur Web incorrects sur votre instance bloquent l'accès à tous les sites Web qui y sont hébergés.
Résolution
Vérifier que l’instance est en cours d’exécution et transmet les deux vérifications d’état
Consultez la console Amazon EC2 pour vérifier que l'instance est en cours d'exécution. Si un échec de vérification d’état est annoncé, consultez la page Pourquoi mon instance Linux EC2 est-elle inaccessible et échoue-t-elle à l’une de ses vérifications d’état ou aux deux ?
Utilisez également la sortie de la console d'instance et un instantané de l'instance pour vérifier si l'instance démarre correctement.
Vérifier la configuration du groupe de sécurité de l'instance et de l'ACL réseau
Vérifiez les configurations d'instance suivantes :
- Le groupe de sécurité et la liste de contrôle d’accès au réseau (ACL réseau) associés autorisent le trafic sur les ports 80 et 443.
- Assurez-vous que la table de routage du sous-réseau de l'instance comporte une route par défaut vers une passerelle Internet.
Vérifier que la configuration DNS du site Web est correcte
Vérifiez les configurations DNS suivantes pour votre site Web :
- Si le site Web utilise le service DNS Amazon Route 53, vous avez correctement configuré les enregistrements DNS.
- Vous avez attribué une adresse IP Elastic à l’instance.
Remarque : L'adresse IP Elastic reste associée à l'instance même lorsque vous arrêtez et démarrez l'instance. - Vous avez mappé l’adresse IP publique ou l’adresse IP Elastic à un enregistrement A.
Vérifier que le serveur Web fonctionne et qu'aucun pare-feu du système d'exploitation ne bloque l'accès aux ports
Pour vérifier la configuration de votre port réseau et votre serveur Web, procédez comme suit :
-
Utilisez SSH ou le Gestionnaire de session, une fonctionnalité d'AWS Systems Manager, pour vous connecter à l'instance. Si vous ne pouvez pas utiliser SSH ou le Gestionnaire de session pour vous connecter à des instances créées sur le système AWS Nitro, utilisez l’EC2 Serial Console.
-
Pour vérifier si le site Web s'exécute localement, exécutez la commande suivante depuis le site Web d'hébergement de l'instance EC2 :
curl https://localhost-ou-
curl http://localhost:443Remarque : Si vous rencontrez des problèmes lorsque vous utilisez curl, vérifiez l'existence de problèmes liés à la configuration du serveur Web et de l'application de l'instance.
-
Pour vérifier l'état du service du serveur Web, exécutez la commande suivante en fonction du système d'exploitation que vous exécutez.
Red Hat Enterprise Linux (RHEL), CentOS, Fedora et Amazon Linux :sudo systemctl status httpd.serviceExemple de sortie :
The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: inactive (dead)Debian et Ubuntu :
sudo systemctl status apache2.serviceExemple de sortie :
The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; disabled; vendor preset: disabled) Active: inactive (dead)Dans la sortie de commande, vérifiez l'état inactif (mort).
Si votre système Linux exécute System V, exécutez la commande suivante pour vérifier l'état du serveur Web :sudo service httpd statusRemarque : Si vous utilisez Debian ou Ubuntu, remplacez httpd par apache2.
Exemple de sortie :httpd is stopped -
Pour démarrer le serveur Web et définir le service afin qu'il se lance au démarrage, exécutez les commandes suivantes en fonction de votre système d’exploitation :
RHEL, CentOS, Fedora et Amazon Linux :sudo systemctl start httpd; sudo systemctl enable httpdDebian ou Ubuntu :
sudo systemctl start apache2; sudo systemctl enable apache2 -
Pour vérifier que le service de serveur Web est en cours d'exécution et activé, exécutez les commandes suivantes en fonction de votre système d'exploitation :
RHEL, CentOS, Fedora et Amazon Linux :sudo systemctl status httpd.serviceExemple de sortie :
The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running)Debian ou Ubuntu :
sudo systemctl status apache2.serviceExemple de sortie :
The Apache HTTP ServerLoaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running)Pour démarrer un service de serveur Web arrêté pour les systèmes qui s'exécutent sur System V, exécutez la commande suivante :
sudo service httpd startExemple de sortie :
Starting httpd: [ OK ] -
Pour vérifier que le serveur Web écoute les demandes de connexion entrantes des utilisateurs, exécutez la commande suivante :
sudo netstat -tulpn|grep -i :80 tcp6 0 0 :::80 :::* LISTEN 11993/httpdRemarque : Exécutez la commande précédente à deux reprises. La deuxième fois, remplacez 80 par 443. Les serveurs Web écoutent le trafic HTTP sur le port 80 et le trafic sur le port 443 pour le trafic chiffré avec TLS/SSL.
Si vous exécutez plusieurs interfaces, exécutez la commande suivante pour vérifier que le serveur Web écoute toutes les adresses IP :cat /etc/httpd/conf/httpd.conf | grep ListenExemples de sortie :
Listen *:80Listen *:443 -
Si vous utilisez un pare-feu de système d’exploitation, assurez-vous qu'il autorise les requêtes sur les ports 80 et 443.
-
(Facultatif) Pour vérifier que les règles iptables autorisent les requêtes entrantes sur les ports 80 et 443, exécutez la commande suivante :
sudo iptables -vnLExemple de sortie :
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 35 10863 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibitedDans l'exemple de sortie précédent, les règles autorisent uniquement le protocole ICMP (Internet Control Message Protocol), localhost et le port 22/TCP (SSH). Les règles bloquent les connexions entrantes vers le port TCP 80 ou 443.
-
Pour configurer les règles iptables afin de permettre aux ports 80 et 443 d'accepter les demandes de connexion HTTP et HTTPS entrantes, exécutez la commande suivante :
iptables -I INPUT -p tcp --match multiport --dports 80,443 -j ACCEPTExemple de sortie :
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443 486 104K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Vérifiez les configurations pour AL2023, AL2 et RHEL 7 et versions ultérieures
Pour les instances Amazon Linux 2023 (AL2023), Amazon Linux 2 (AL2) et RHEL, exécutez la commande suivante pour vérifier si le service firewalld est en cours d'exécution :
sudo firewall-cmd --state
Exemple de sortie :
running
Si le service firewalld est en cours d'exécution, exécutez les commandes suivantes pour autoriser les connexions sur les ports TCP 80 et 443 :
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload
Remarque : Si vous avez déjà ajouté des règles, la commande reload recharge le service et applique les règles.
Pour chaque commande, vérifiez que la sortie est similaire à l'exemple suivant :
success
Vérifier les configurations des serveurs Debian et Ubuntu
Procédez comme suit :
-
Pour vérifier la présence d'un pare-feu simplifié (UFW), exécutez la commande suivante :
sudo ufw status verboseExemple de sortie :
Status: active -
Si vous exécutez un UFW, utilisez la commande suivante pour autoriser les demandes de connexion entrantes sur les ports TCP requis :
Port TCP 80 :sudo ufw allow in 80/tcpPort TCP 443 :
sudo ufw allow 443/tcp -
Pour chaque commande, vérifiez que la sortie est similaire à l'exemple suivant :
Rule added Rule added (v6)
Pour résoudre les problèmes, consultez les journaux des erreurs d'accès à votre serveur Web sur /var/log. Utilisez les emplacements de journaux du serveur Web par défaut suivants :
- Pour Amazon Linux et RHEL, utilisez /var/log/httpd.
- Pour Debian et Ubuntu, utilisez /var/log/apache2.
Remarque : L'emplacement du journal de serveur Web dépend de la configuration de votre serveur.
Informations connexes
- Sujets
- Compute
- Balises
- LinuxAmazon EC2
- Langue
- Français
Vidéos associées


Contenus pertinents
- demandé il y a 3 ans
- demandé il y a 5 mois
- demandé il y a 2 ans
- demandé il y a 3 ans
- demandé il y a un an
AWS OFFICIELA mis à jour il y a 3 ans