
Hébergez vous votre site Web sur le Serveur Web Apache? Vous êtes-vous déjà demandé comment fournir du contenu sécurisé à vos utilisateurs via TLS?
Pour ceux qui ne connaissent pas TLS (Transport Layer Security) ou Sécurité de la couche de transport, officiellement appelé SSL (Secure Sockets Layer), il s’agit simplement d’un mécanisme permettant d’établir des connexions sécurisées entre les serveurs et les navigateurs Web.
Ce tutoriel vous guidera à travers de simples étapes pour activer TLS dans Apache. Le tutoriel suppose que vous exécutez déjà Apache sur un serveur CentOS.
Tout d’abord, vous devez télécharger et installer le module SSL Apache. Pour ce faire, exécutez la commande suivante:
yum install mod_ssl
Ensuite, modifiez le fichier de configuration Apache situé à la location /etc/httpd/conf/httpd.conf. Ajouter un nouvel hôte virtuel pour le port 443 (port SSL par défaut)
<VirtualHost *:443>
SSLEngine on
</VirtualHost>
Ensuite, ajoutez les liens vers les fichiers de certificats à l’intérieur de l’hôte virtuel:
- SSLCertificateFile: certificat de serveur
- SSLCertificateKeyFile: clé privée du serveur
- SSLCertificateChainFile: chaîne de certificats de serveur
L’hôte virtuel devrait maintenant ressembler à ceci:
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/server.crt
SSLCertificateKeyFile /etc/ssl/server.key
SSLCertificateChainFile /etc/ssl/server.ca-bundle
</VirtualHost>
Vous pouvez bénéficier d’un certificat gratuit à Let’s Encrypt.
Vous pouvez également définir l’en-tête X-Forwarded-Proto vers HTTPS dans l’hôte virtuel pour spécifier que le trafic qu’il reçoit est HTTPS:
RequestHeader set X-Forwarded-Proto "https"
Si vous souhaitez également que vos utilisateurs soient redirigés vers https pour tout trafic http, vous devrez peut-être configurer les règles de redirection au sein de l’hôte virtuel. Pour ce faire, ajoutez les éléments suivants à l’hôte virtuel:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Vous pouvez également configurer les règles de redirection via le fichier .htaccess à la racine de votre serveur Web.
Le fichier de configuration devrait maintenant ressembler à ceci:
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/server.crt
SSLCertificateKeyFile /etc/ssl/server.key
SSLCertificateChainFile /etc/ssl/server.ca-bundle
RequestHeader set X-Forwarded-Proto "https"
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
Enregistrez le fichier de configuration et redémarrez Apache pour que les modifications prennent effet. Vous devriez maintenant être en mesure de parcourir votre site via SSL.
Profitez !!!