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
| Type | Protocole | Plage de ports | Source |
|---|
| HTTP (80) | TCP (6) | 80 | 0.0.0.0/0 |
| HTTP (80 | TCP (6) | 80 | ::/0 |
| HTTPS (443) | TCP (6) | 443 | 0.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ègle | Type | Protocole | Plage de ports | Source | Autoriser/Refuser |
|---|
| 100 | HTTP (80) | TCP (6) | 80 | 0.0.0.0/0 | AUTORISER |
| 101 | HTTPS (443) | TCP (6) | 443 | 0.0.0.0/0 | AUTORISER |
| 102 | HTTP (80) | TCP (6) | 80 | ::/0 | AUTORISER |
| 103 | HTTPS (443) | TCP (6) | 443 | ::/0 | AUTORISER |
| * | TOUT le trafic | TOUT | TOUT | ::/0 | REFUSER |
| * | TOUT le trafic | TOUT | TOUT | 0.0.0.0/0 | REFUSER |
Règles sortantes
| N° de règle | Type | Protocole | Plage de ports | Destination | Autoriser/Refuser |
|---|
| 100 | Règle TCP personnalisée | TCP (6) | 1024-65535 | 0.0.0.0/0 | AUTORISER |
| 101 | Règle TCP personnalisée | TCP (6) | 1024-65535 | ::/0 | AUTORISER |
| * | TOUT le trafic | TOUT | TOUT | ::/0 | REFUSER |
| * | TOUT le trafic | TOUT | TOUT | 0.0.0.0/0 | REFUSER |
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.