Outils pour utilisateurs

Outils du site


install:letsencrypt

Let’s Encrypt est une autorité de certification propulsée par l’Internet Security Research Group (ISRG) qui vise à augmenter significativement la part de trafic HTTPS sur les sites web.

Elle est soutenue par des ténors d’internet comme : l’Electronic Frontier Foundation (EFF), la Fondation Mozilla, Akamai, Cisco Systems, PlanetHoster, OVH, …

Si vous passez par Cloudflare, SSL est déjà intégré, donc vous devrez juste modifier la configuration du port 80 :

server {
	listen 80;
	server_name faq.linkuff.com;

	access_log /.../access.log;
	error_log /.../error.log;

	if ($http_x_forwarded_proto = "http") {
		return 301 https://$server_name$request_uri;
	}

Activation SSL

Avant toute chose, pensez à activer le SSL sur votre serveur :

$ sudo a2enmod ssl

Installation de Let’s Encrypt

Nous allons nous placer dans le dossier /root/ et cloner le repo :

$ cd /root/
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt/
$ ./letsencrypt-auto

Générer les certificats

On va commence par arrêter le serveur web Nginx pour permettre le mode standalone :

$ sudo service nginx stop

Puis on va exécuter le script :

$ ./certbot-auto certonly --standalone --rsa-key-size 4096

certonly permet d’obtenir un certificat, mais de ne pas l’installer automatiquement.

–standalone va exécuter un petit serveur Web autonome pour l’authentification. Ceci nous évitera d’installer un plugin à Nginx.

–rsa-key-size 4096 va générer un certificat avec une clef RSA de 4096 bits. La valeur par défaut est de 2048.

Configurer Nginx

Voici un exemple de configuration Nginx :

server {
	listen 443;
	server_name faq.linkuff.com;

	access_log /.../access.log;
	error_log /.../error.log;

	ssl on;
	ssl_certificate /etc/letsencrypt/live/m.diariste.com/fullchain.pem;
	ssl_certificate_key /etc/letsencrypt/live/m.diariste.com/privkey.pem;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_prefer_server_ciphers on;
	ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
	ssl_session_cache shared:SSL:10m;
	ssl_session_timeout 5m;

Redémarer nginx :

$ sudo service nginx start

Renouveler les certificats

$ sudo service nginx stop
$ ./letsencrypt-auto renew
$ sudo service nginx start

Cas de Cloudflare

./letsencrypt-auto certonly -a webroot --webroot-path=/tmp/well-known --expand -d site.com
location ~ /\.well-known/acme-challenge {
                allow all;
                root /tmp/well-known;
        }

        location ~ \.well-known {
                allow all;
        }
install/letsencrypt.txt · Dernière modification : 2019/04/30 07:58 de linkuff