Cette documentation vous permet d'installer votre propre certificat SSL dans votre stack. Cette méthode peut être utilisée avec plusieurs domaines différents.
Limitation(s) :
- vous devez posséder un certificat SSL signé par un organisme de certification reconnu.
- vous devez posséder la clé privée (.pem)
- vous devez posséder le certificat "fullchain" (concaténation entre certificat + certificat intermédiaire; > documentation Nginx)
Enregistrer vos certificats
Vous devez enregistrer vos certificats dans le répertoire /usr/local/share/
Il y aura donc ces deux fichiers :
private-key.pem
certificate.fullchain.pem
Les deux fichiers doivent être lisibles par le groupe www-data
.
sudo -u www-data cat /usr/local/share/*.pem > /dev/null
Mise en place
Créer le fichier /etc/nginx/sites-available/<nom_personnalise>
et ajouter le bloc vhost :
#exemple de configuration
server {
listen 443 ;
listen [::]:443 ;
server_name wazo.votredomaine.tld; # votre domaine
access_log /var/log/nginx/wazo.access.log;
error_log /var/log/nginx/wazo.error.log;
root /var/www/html;
include /etc/nginx/locations/https-enabled/*;
gzip off; # gzipping SSL encripted data is a waste of time
ssl on;
fastcgi_param HTTPS on;
ssl_certificate /usr/local/share/certificate.fullchain.pem;
ssl_certificate_key /usr/local/share/private-key.pem;
ssl_ciphers ALL:!aNULL:!eNULL:!LOW:!EXP:!RC4:!3DES:!SEED:+HIGH:+MEDIUM;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_protocols TLSv1.2 TLSv1.3;
#add_header Strict-Transport-Security "max-age=31536000";
}
Activer le vhost et redémarrez le service Nginx:
sudo ln -s /etc/nginx/sites-available/<nom_personnalise> /etc/nginx/sites-enabled/
systemctl restart nginx