Comment rediriger votre site Web vers HTTPS derrière un équilibreur AWS Load
- 4576
- 167
- Zoe Dupuis
Sur les instances AWS EC2, votre serveur Web écoute sur le port 80 pour accepter les connexions HTTP. Par la suite, vous avez configuré le Balancer de chargement Amazon Elastic (ELB) pour écouter le trafic HTTP et HTTPS et transférer toutes les demandes du serveur backend sur le port 80 uniquement. Le Amazon Elastic Load Balancer (ELB) soutient le X-Proto Valeur d'en-tête, qui comprend le protocole de l'application.
Le X-Proto La valeur d'en-tête de la demande HTTP est utilisée dans ce tutoriel, et les règles de réécriture sont appliquées si le protocole client n'est pas HTTPS.
Voici comment forcer une redirection vers HTTPS derrière AWS ELB à l'aide d'Apache, Nginx ou de serveurs Web IIS.
1. Apache
Ajout d'une règle de redirection HTTPS vers votre apache virtualhost ou .Le fichier HTACCESS est un moyen facile de rediriger tout le trafic vers votre site Web pour utiliser HTTPS. Vous pouvez le faire en ajoutant le code suivant à votre VirtualHost ou .Fichier HTACCESS:
Réécriture de la réécriture REWRITECOND% http: X-Forwarded-proto !https réécriture ^.* $ https: //% server_name% request_uri123 | Réécriture de la réécriture REWRITECOND% http: X-Forwarded-proto !https réécriture ^.* $ https: //% server_name% request_uri |
Le code ci-dessus est un exemple de règle de redirection HTTPS qui peut être ajouté à un .fichier htaccess. Lorsque cette règle est ajoutée, il vérifie si l'en-tête X-Forwardée-Proto n'est pas défini sur HTTP. Ceci est utile dans les scénarios où le site Web est derrière un équilibreur de chargement ou un proxy, et l'en-tête X-Forwarded-proto est utilisé pour transmettre des informations sur le protocole du client au serveur. En ajoutant ce code à votre .Fichier HTACCESS, tout le trafic vers votre site Web sera redirigé vers l'utilisation de HTTPS, garantissant que votre site Web est sécurisé et crypté.
2. Nginx
Modifiez le bloc de serveur NGINX HTTP pour votre domaine pour configurer la redirection de force. Ajoutez le contenu suivant sous le bloc d'emplacement pour rediriger tout le trafic HTTP vers HTTPS.
emplacement / if ($ http_x_forwarded_proto != 'https') réécriture ^ https: // $ host $ request_uri? permanent;1234 | emplacement / if ($ http_x_forwarded_proto != 'https') réécriture ^ https: // $ host $ request_uri? permanent; |
La configuration Nginx ci-dessus est un exemple de règle de redirection HTTPS qui peut être ajoutée à un bloc de localisation dans le fichier de configuration Nginx. Lorsque cette règle est ajoutée, il vérifie si l'en-tête X-Forwardée n'est pas défini sur HTTPS, et s'il ne l'est pas, il utilise la directive de réécriture pour rediriger tous. L'instruction if est utilisée pour vérifier la variable http_x_forwarded_proto, qui est définie sur HTTPS lorsque la connexion est sécurisée. En ajoutant ce code à votre fichier de configuration Nginx, tout le trafic vers votre site Web sera redirigé vers l'utilisation de HTTPS, garantissant que votre site Web est sécurisé et crypté.
3. IIS
Les serveurs Windows avec le serveur Web IIS modifient ou créent le la toile.configurer
fichier et ajouter le code suivant dans la section:
1234567891011 |
Conclusion
En suivant ces quatre étapes, vous pouvez facilement rediriger votre site Web vers HTTPS derrière un équilibreur AWS Load. Avec un certificat SSL / TLS, une configuration d'équilibreur de chargement, une création de règles de redirection et une mise à jour d'enregistrement DNS, vous pouvez vous assurer que tout le trafic vers votre site Web est crypté et sécurisé.
- « Comment installer des ajouts d'invités VirtualBox sur Fedora 29-25, CentOS 7/6
- Comment publier des données JSON avec PHP Curl »