Passer au contenu

Comment autoriser mes utilisateurs à se connecter à mon site Web que j'héberge sur une instance EC2 via HTTP ou HTTPS ?

Lecture de 5 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.

Configurer les 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.

Les règles entrantes précédentes 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.

Il n’est pas nécessaire de modifier les règles sortantes du groupe de sécurité. Les groupes de sécurité sont avec états. Ils autorisent donc automatiquement le trafic de retour depuis l'instance.

L'exemple de configuration suivant comporte des règles qui autorisent le trafic IPv4 et IPv6 sur les ports TCP 80 et 443.

Règles entrantes

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

Remarque : vérifiez si vous devez autoriser d'autres sources de trafic, telles que SSH ou le protocole RDP (Remote Desktop Protocol), à se connecter à l'instance. Puis, assurez-vous que votre groupe de sécurité dispose des règles entrantes pour autoriser le trafic requis.

Configurer l'ACL réseau

L’ACL réseau par défaut autorise tout le trafic IPv4 entrant et sortant. Si votre Amazon Virtual Private Cloud (Amazon VPC) est associé à un bloc CIDR IPv6, l'ACL réseau par défaut ajoute automatiquement des règles pour autoriser 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.

La configuration suivante est un exemple d'ACL réseau personnalisée qui autorise le trafic sur les ports TCP 80 et 443. Vous utilisez des ACL réseau pour toutes les ressources d'un sous-réseau, et pas uniquement pour une instance Amazon EC2 unique. La configuration suivante bloque tout le trafic en provenance et à destination des ressources du sous-réseau, sauf sur les ports de destination 80 et 443.

Règles entrantes

N° de règleTypeProtocolePlage 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

N° de règleTypeProtocolePlage 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

Remarque : vérifiez si vous devez autoriser d'autres sources de trafic, telles que SSH ou RDP, à se connecter à l'instance. Puis, assurez-vous que l'ACL de votre réseau dispose des règles entrantes pour autoriser le trafic requis.

Résoudre une erreur « connection refused »

Une erreur « connection refused » se produit lorsque la connexion est acheminée sur un port que vous n'avez pas spécifié dans votre groupe de sécurité ou dans les règles ACL de votre réseau. Par exemple, l'hôte A initie une connexion TCP à l'hôte B. Tout d'abord, l'hôte A envoie un paquet TCP SYN à l'hôte B. Puis, l'hôte B envoie un paquet TCP RST en réponse à l'hôte A. Si ces demandes de connexion ne se produisent pas sur le port spécifié, l'hôte A reçoit l'erreur « connection refused ».

Pour résoudre ce problème, vérifiez si le service du serveur Web est à l’état En cours d’exécution dans l'instance sur le port 80 ou 443.

Résoudre une erreur « connection timeout »

Si l’erreur « connection timeout » s'affiche après que vous avez explicitement autorisé les ports TCP 80 et 443, vérifiez le pare-feu de votre système d'exploitation. Assurez-vous que le pare-feu ne bloque pas le trafic TCP entrant sur les ports requis.

AWS OFFICIELA mis à jour il y a un an