J’héberge un site Web sur une instance EC2. Comment permettre aux utilisateurs de se connecter via HTTP (80) ou HTTPS (443) ?

Lecture de 6 minute(s)
0

J’héberge mon site Web sur une instance Amazon Elastic Compute Cloud (Amazon EC2). Je souhaite que les utilisateurs se connectent à mon site Web via HTTP (port 80) ou HTTPS (port 443).

Résolution

Pour autoriser le trafic sur les ports 80 et 443, vous devez configurer le groupe de sécurité et la liste de contrôle d’accès au réseau (ACL réseau) associés.

Règles du groupe de sécurité

Pour le trafic HTTP, ajoutez une règle entrante sur le port 80 à partir de l’adresse source 0.0.0.0/0.

Pour le trafic HTTPS, ajoutez une règle entrante sur le port 443 à partir de l’adresse source 0.0.0.0/0.

Ces règles entrantes autorisent le trafic provenant d’adresses IPv4. Pour autoriser le trafic IPv6, ajoutez des règles entrantes sur les mêmes ports à partir de l’adresse source ::/0. Pour en savoir plus sur la création ou la modification de groupes de sécurité, consultez la page Contrôler le trafic vers les ressources à l’aide de groupes de sécurité.

Les groupes de sécurité sont dotés d’un état, ce qui signifie que le trafic de retour de l’instance vers les utilisateurs est automatiquement autorisé. Il n’est pas nécessaire de modifier les règles sortantes du groupe de sécurité.

Remarque : l’exemple suivant montre les règles du groupe de sécurité requises pour autoriser le trafic IPv4 et IPv6 sur les ports TCP 80 (HTTP) et 443 (HTTPS). Déterminez si d’autres sources de trafic doivent être autorisées pour votre cas d’utilisation, telles que SSH ou RDP pour la connexion à l’instance. Ensuite, vérifiez que votre groupe de sécurité dispose des règles entrantes pertinentes pour autoriser le trafic requis.

Règles entrantes

TypeProtocolePlage de portsSource
HTTP (80)TCP (6)800.0.0.0/0
HTTP (80)TCP (6)80::/0
HTTPS (443)TCP (6)4430.0.0.0/0
HTTPS (443)TCP (6)443::/0

ACL réseau

L’ACL réseau par défaut autorise tout le trafic IPv4 entrant et sortant. Si vos utilisateurs se connectent via IPv6 et que votre Virtual Private Cloud (VPC) Amazon est associé à un bloc CIDR IPv6, votre ACL réseau par défaut ajoute également automatiquement des règles autorisant tout le trafic IPv6 entrant et sortant. Toutefois, si vous utilisez une ACL réseau personnalisée avec des règles plus restrictives, vous devez autoriser explicitement le trafic sur les ports 80 et 443.

Les ACL réseau ne dispose pas d’un état. Vous devez donc ajouter des règles entrantes et sortantes pour autoriser la connexion à votre site Web. Pour en savoir plus sur la modification des règles d’une ACL réseau, consultez la page Contrôle du trafic vers les sous-réseaux avec des listes ACL réseau.

Remarque : l’exemple suivant montre une ACL réseau personnalisée qui autorise le trafic sur les ports TCP 80 (HTTP) et 443 (HTTPS). Les ACL réseau sont appliquées à toutes les ressources d’un sous-réseau complet, et pas seulement à une instance EC2. Dans l’exemple de configuration ci-dessous, tout le trafic en provenance et à destination des ressources d’un même sous-réseau est bloqué, sauf sur les ports de destination 80 et 443. Déterminez si d’autres sources de trafic doivent être autorisées pour votre cas d’utilisation, telles que SSH ou RDP pour la connexion à l’instance. Ensuite, vérifiez que vous disposez des règles entrantes pertinentes pour autoriser le trafic requis.

Règles entrantes

**Rule n° **TypeProtocolePlage de portsSourceAutoriser/Refuser
100HTTP (80)TCP (6)800.0.0.0/0AUTORISER
101HTTPS (443)TCP (6)4430.0.0.0/0AUTORISER
102HTTP (80)TCP (6)80::/0AUTORISER
103HTTPS (443)TCP (6)443::/0AUTORISER
*TOUT le traficTOUTTOUT::/0REFUSER
*TOUT le traficTOUTTOUT0.0.0.0/0REFUSER

Règles sortantes

**Rule n° **TypeProtocolePlage de portsDestinationAutoriser/Refuser
100Règle TCP personnaliséeTCP (6)1024-655350.0.0.0/0AUTORISER
101Règle TCP personnaliséeTCP (6)1024-65535::/0AUTORISER
*TOUT le traficTOUTTOUT::/0REFUSER
*TOUT le traficTOUTTOUT0.0.0.0/0REFUSER

Résolution d’une erreur de connexion refusée

Une erreur de type connexion refusée signifie que la demande de connexion est bien acheminée vers l’instance, mais qu’elle n’est pas reçue par le service sur le port spécifié. Si l’hôte A initie une connexion TCP vers l’hôte B et reçoit un message d’erreur de type connexion refusée, cette erreur signifie ce qui suit :

  • Tout d’abord, l’hôte A a envoyé un paquet TCP SYN à l’hôte B.
  • Ensuite, l’hôte B a envoyé un paquet TCP RST en réponse à l’hôte A.

Si vous rencontrez cette erreur même après avoir autorisé les ports TCP 80 et 443 dans le groupe de sécurité et l’ACL réseau, examinez les problèmes suivants :

  • Le démon de service, comme httpd (Apache), n’est pas en cours d’exécution ou est arrêté.

Pour résoudre ce problème, vérifiez si le service est en cours d’exécution dans l’instance EC2.

  • Le service écoute sur un mauvais port.

Pour résoudre ce problème, vérifiez si l’instance EC2 écoute sur le port TCP requis (80/443).

  • Le port est bloqué par un pare-feu.

Pour résoudre ce problème, vérifiez si un pare-feu au niveau du système d’exploitation de l’instance EC2 bloque le trafic TCP entrant sur le port requis.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans