Comment utiliser Apache pour rediriger tout le trafic de HTTP à HTTPS

Comment utiliser Apache pour rediriger tout le trafic de HTTP à HTTPS

Si votre site Web utilise Apache et SSL, il n'y a pas beaucoup de raisons de continuer à utiliser HTTP avec votre site Web. Avoir à la fois HTTP et HTTPS crée simplement du contenu en double, car maintenant toute page donnée sera accessible via deux URL techniquement différentes.

Dans ce guide, nous supposerons que vous utilisez déjà Apache sur un système Linux et que vous souhaitiez rediriger tout le trafic HTTP vers HTTPS. Cela s'assurera que tous vos visiteurs ne se connectent que via HTTPS en forçant leur navigateur au protocole sécurisé s'ils ouvrent un lien http. Si un utilisateur décide de préfacer un lien avec http: //, Votre site sera assez intelligent pour les envoyer à la page correcte, plutôt que d'afficher du contenu en double ou d'afficher une erreur 404.

Il existe deux façons de mettre en place cette redirection dans Apache. La meilleure méthode consiste à configurer l'hôte virtuel, mais les utilisateurs avec des sites Web hébergés peuvent ne pas avoir accès à cette configuration. La deuxième méthode consiste à apporter quelques modifications au .htaccess déposer. Nous couvrirons les instructions étape par étape pour les deux méthodes ci-dessous. Commençons.

Dans ce tutoriel, vous apprendrez:

  • Comment rediriger HTTP vers HTTPS avec l'hôte virtuel
  • Comment rediriger http vers https avec .htaccess déposer
Rediriger le trafic HTTP vers HTTPS dans Apache Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Toute distribution Linux
Logiciel Apache
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Rediriger HTTP vers HTTPS avec l'hôte virtuel

Sur Ubuntu, Debian et ses dérivés, vous trouverez les fichiers de l'hôte virtuel dans / etc / apache2 / sites disponible. Ouvrez le fichier approprié dans un éditeur de texte de votre choix:

$ sudo vi / etc / apache2 / sites-disponible / exemple.confli 


Sur Redhat, Centos, Fedora et autres dérivés, vous trouverez la configuration des hôtes virtuels dans:

$ sudo vi / etc / httpd / confre.d 

Ce fichier peut être utilisé pour rediriger le trafic, entre autres choses. Si vous utilisez déjà HTTP et HTTPS sur votre site Web, vous devriez avoir au moins deux hôtes virtuels déjà dans le fichier - un pour 80 (HTTP) et un pour 443 (HTTPS). Pour rediriger le trafic HTTP, nous devrons ajouter la ligne suivante:

Rediriger permanent / https: // Exemple.com / 

Ajoutez-le quelque part à l'intérieur du En-tête, comme dans l'exemple ci-dessous:

Exemple de configuration de l'hôte virtuel avec le trafic HTTP redirigé vers HTTPS

Enregistrez vos modifications et quittez ce fichier lorsque vous avez terminé. Pour que les modifications prennent effet, vous devrez recharger la configuration Apache avec la commande SystemCTL suivante:

$ sudo systemctl reload apache2 # debian, ubuntu ou $ sudo systemctl reload httpd # red hat, centos, fedora 

Rediriger HTTP vers HTTPS avec .fichier htaccess

Si vous n'avez pas accès à la configuration de l'hôte virtuel, le .htaccess Le fichier sera votre seule option. Il peut être trouvé dans le répertoire racine de votre site Web, qui devrait être accessible quel que soit l'hôte Web que vous utilisez.

Modifiez simplement ce fichier et ajoutez-y les lignes de code suivantes. Vous pouvez simplement les coller au bas du fichier.

Réécriture de la réécriture REWRITECOND% https hors réécriture ^ (.*) $ https: // exemple.com / 1 $ [l, r = 301] 


C'est tout ce qu'on peut en dire. Vous devez remarquer les modifications instantanément lors de la navigation vers votre site Web, car Apache n'a pas besoin d'être rechargé pour que ces modifications prennent effet.

Réflexions de clôture

Https est définitivement la voie à suivre. Dans cet article, nous avons vu à quel point il était facile de rediriger tout le trafic vers HTTPS et de nous débarrasser entièrement de HTTP. L'une de ces méthodes est viable pour forcer le trafic HTTP vers HTTPS sur votre site Web.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Ubuntu 20.04 WordPress avec installation Apache
  • Ubuntu 20.04: WordPress avec l'installation de Nginx
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Téléchargement Linux
  • Choses à installer sur Ubuntu 22.04
  • Tester les clients HTTPS utilisant OpenSSL pour simuler un serveur
  • Comment utiliser Nginx pour rediriger tout le trafic de HTTP à HTTPS