Credit : Illustration backtotheweb.fr
Configurer HTTPS partout : guide SSL/TLS complet
Configurer HTTPS partout : guide SSL/TLS complet
Un classique du quotidien d'admin sys.
En 2026, HTTPS est obligatoire. Pas seulement pour la securite, mais aussi pour le SEO, la confiance des visiteurs et les fonctionnalites modernes du navigateur. Voici comment le configurer correctement.
Obtenir un certificat avec Certbot
Let's Encrypt fournit des certificats gratuits via Certbot :
# Installation
sudo apt install certbot python3-certbot-nginx
# Obtenir un certificat pour Nginx
sudo certbot --nginx -d monsite.fr -d www.monsite.fr
# Obtenir un certificat pour Apache
sudo apt install python3-certbot-apache
sudo certbot --apache -d monsite.fr -d www.monsite.fr
# Mode standalone (sans serveur web)
sudo certbot certonly --standalone -d monsite.fr
Le renouvellement est automatique. Verifiez avec :
sudo certbot renew --dry-run
Configuration Nginx optimale
server {
listen 80;
server_name monsite.fr www.monsite.fr;
return 301 https://monsite.fr$request_uri;
}
server {
listen 443 ssl http2;
server_name monsite.fr;
# Certificats
ssl_certificate /etc/letsencrypt/live/monsite.fr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/monsite.fr/privkey.pem;
# Protocoles et cipher suites
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# Session cache
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/monsite.fr/chain.pem;
resolver 1.1.1.1 8.8.8.8 valid=300s;
resolver_timeout 5s;
# HSTS
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
# Headers de securite supplementaires
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
root /var/www/monsite/public;
index index.php index.html;
}
Configuration Apache optimale
<VirtualHost *:80>
ServerName monsite.fr
Redirect permanent / https://monsite.fr/
</VirtualHost>
<VirtualHost *:443>
ServerName monsite.fr
DocumentRoot /var/www/monsite/public
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/monsite.fr/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/monsite.fr/privkey.pem
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLUseStapling on
SSLStaplingCache shmcb:/var/run/ocsp(128000)
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
</VirtualHost>
Activez les modules necessaires :
sudo a2enmod ssl rewrite headers
sudo systemctl restart apache2
HSTS : forcer HTTPS definitivement
HTTP Strict Transport Security indique aux navigateurs de toujours utiliser HTTPS :
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
max-age=63072000: 2 ans en secondesincludeSubDomains: applique a tous les sous-domainespreload: permet l'inscription sur la liste preload des navigateurs
Pour la liste preload, soumettez votre domaine sur hstspreload.org.
OCSP Stapling
L'OCSP Stapling evite que le navigateur contacte l'autorite de certification pour verifier le certificat, ce qui ameliore la vitesse de connexion.
Verifiez qu'il fonctionne :
openssl s_client -connect monsite.fr:443 -status -servername monsite.fr 2>/dev/null | grep -A 5 "OCSP Response"
Tester votre configuration
# Test rapide
curl -I https://monsite.fr
# Verifier les headers
curl -sI https://monsite.fr | grep -i strict
# Test complet avec nmap
nmap --script ssl-enum-ciphers -p 443 monsite.fr
Utilisez aussi SSL Labs (ssllabs.com/ssltest) pour obtenir un score detaille. Visez le grade A+.
Certificat wildcard
Pour couvrir tous les sous-domaines :
sudo certbot certonly --manual --preferred-challenges dns \
-d monsite.fr -d '*.monsite.fr'
Cela necessite un enregistrement DNS TXT pour la validation.
Avec cette configuration, votre site sera securise selon les meilleures pratiques actuelles.