Installer un certificat SSL Cloudflare Origin avec Nginx

Il s’agit peut-être de la fonctionnalité la plus intéressante avec Cloudflare, la possibilité d’installer un certificat SSL fournit par Cloudflare sur votre serveur web. Cela permet de chiffrer les connexions entre votre serveur et les serveurs de Cloudflare, et vous pouvez générer un certificat valide pour 15 ans, soit largement plus que les 90 jours d’un certificat Let’s Encrypt.

Cloudflare SSL Full Strict

 

Générer un certificat ainsi qu’une clé privée avec Cloudflare

Pour commencer, vous devez vous rendre dans la partie « Crypto » du domaine pour lequel vous souhaitez générer un certificat. Vous trouverez alors la section Origin Certificates dans laquelle nous allons pouvoir générer notre certificat SSL ainsi que notre clé privée.

Vous pouvez donc cliquer comme dans l’exemple ci-dessous sur le bouton Create Certificate.

Créer un certificat SSL Cloudflare

Si vous utilisez un control panel sur votre serveur, vous pouvez si vous le souhaitez générer une requête de Certificat nommé CSR (Certificate Signing Request), mais dans notre cas, nous allons laisser Cloudflare générer notre certificat ainsi que notre clé privée.

Générer un certificat SSL et une clé privée via Cloudflare

Vous allez alors obtenir votre certificat ainsi que votre clé privée. Copiez cette dernière dans un premier fichier que nous allons nommer votredomaine-key.pem

Copiez ensuite le certificat SSL dans un deuxième fichier que nous allons nommer votredomaine-crt.pem. Vous pouvez alors créer un dossier /etc/nginx/ssl afin d’y stocker vos certifcats, et y uploader le certificat et la clé privée que nous venons d’obtenir.

Cependant il nous faut ajouter la signature de l’autorité de certification avec notre certificat SSL. Pour cela nous allons télécharger le certificat root de Cloudflare et fusionner en un seul fichier le certificat de notre domaine, avec le certificat root de Cloudflare.

wget wget https://support.cloudflare.com/hc/en-us/article_attachments/206709098/cloudflare_origin_ecc.pem
cat votredomaine-crt.pem cloudflare_origin_ecc.pem > votredomaine-fullchain.pem 

Installer le certificat avec nginx

Pour utiliser ce certificat dans votre configuration nginx, il vous suffit d’ajouter les lignes suivantes à votre block server :

listen 443 ssl http2;
ssl on;
ssl_certificate     /etc/nginx/ssl/votredomaine-fullchain.pem;
ssl_certificate_key     /etc/nginx/ssl/votredomaine-key.pem;

Avant d’appliquer la configuration en utilisant :

nginx -t && service nginx reload

Vous pouvez alors changer le niveau SSL de votre domaine en Full (strict) via l’interface Cloudflare :

Cloudflare SSL Full (strict)

Allez plus loin avec les Authenticated Origin Pulls

Nous pouvons même aller plus loin et mettre en place un certificat pour authentifié notre serveur. Ce service est nommé « Authenticated Origin Pulls » dans le panel Cloudflare et permet d’éviter que des requêtes soient faites à votre serveur sans passer par le proxy Cloudflare.

Pour le mettre en place il nous suffit de télécharger le certificat suivant :

wget https://support.cloudflare.com/hc/en-us/article_attachments/201243967/origin-pull-ca.pem

Et de l’inclure dans notre configuration nginx :

ssl_client_certificate /etc/nginx/ssl/origin-pull-ca.pem;
ssl_verify_client on;

Nous pouvons alors activer depuis l’interface Cloudflare la fonctionnalité Authenticated Origin Pulls.

Poster un Commentaire

Soyez le premier à commenter !

Me notifier des
avatar
wpDiscuz