GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer l'origine Cloudflare SSL avec Nginx

Aperçu

Dans cet article, nous allons passer en revue les étapes de configuration du certificat SSL Cloudflare d'origine avec le serveur Web Nginx. Ces étapes concernent les serveurs Web fonctionnant sous Linux (CentOS, Debian, etc.). Cloudflare est une plate-forme de protection CDN et DDoS assez célèbre, mais ils offrent de nombreux autres services - l'un de ces services sont les certificats SSL. Si vous utilisez déjà Cloudflare, vous pouvez également acquérir un certificat SSL auprès d'eux. Les certificats SSL sont gratuits (même dans le plan gratuit), mais les certificats du serveur d'origine sont gratuits. Les certificats Edge ne le sont pas. Un inconvénient des certificats d'origine est que le certificat généré est partagé (un certificat ssl par plusieurs utilisateurs) mais le bon côté est que le certificat fourni peut durer jusqu'à 15 ans et il prend en charge TLS v1.3, HSTS et Onion routage.

Générer le certificat SSL sur Clouflare

Donc, pour acquérir le certificat SSL de Cloudflare, vous devez déjà utiliser leurs services et ajouter votre domaine sur Cloudflare. Dans votre tableau de bord, accédez au menu SSL/TLS, puis accédez au serveur Origin.

Cliquez sur l'option Créer un certificat. Vous obtiendrez alors une invite sur laquelle vous devez choisir le type de clé (aller avec le type RSA). Indiquez également que vous souhaitez que Cloudflare génère la clé pour vous.

Après cela, sélectionnez combien de temps vous voulez qu'ils soient valides. Cloudflare propose des clés valables de 7 jours à 15 ans. Une fois que vous avez cliqué sur le bouton Créer, vous obtiendrez une invite de fenêtre sur laquelle seront affichées les clés publiques et privées.

Copiez les deux clés. Ceux-ci sont nécessaires pour la prochaine étape.

Créer le fichier de certificat et le fichier de clé privée sur le serveur

Une fois le certificat SSL généré, l'étape suivante consiste à installer le certificat sur le serveur Linux. Pour cela, nous devons créer deux fichiers sur notre serveur et dans ces fichiers coller les clés que nous avons copiées depuis Cloudflare. Pour créer des fichiers, nous pouvons simplement utiliser un éditeur de texte, puis dans le nouveau fichier, nous collons les codes clés. Chaque fichier de certificat doit aller dans le répertoire spécifique. Vous pouvez utiliser ces commandes pour créer les fichiers :

sudo nano /etc/ssl/certs/cert.pem

sudo nano /etc/ssl/private/key.pem

Comme vous pouvez le voir, nous avons besoin de deux fichiers, pour chaque clé que nous avons copiée depuis Cloudflare. De plus, vous pouvez dire par la ligne de commande où ils doivent aller, dans quel répertoire. D'abord le fichier cert.pem - dans celui-ci, collez le code du certificat et dans le fichier key.pem, collez le code de la clé privée. Une fois que vous avez collé le code, enregistrez les fichiers.

Configurez votre serveur et Nginx avec le SSL Cloudflare

Une fois les fichiers de certificat créés, nous devons maintenant configurer origin cloudflare ssl avec nginx, ce qui signifie que nous devons dire à nginx d'utiliser le cloudflare origin ssl que nous avons généré précédemment. Encore une fois avec l'éditeur de texte, ouvrez la configuration du serveur Nginx pour votre site Web. Il est généralement situé à :

etc/nginx/sites-available/default

ou si vous n'utilisez pas le fichier de configuration par défaut et que vous disposez d'un fichier de configuration spécifique pour votre site, modifiez ce fichier à la place. Dans le fichier, juste après les – listen 80 lines :ajoutez également ces lignes :

listen 443 ssl http2;
listen [::]:443 ssl http2;

ssl on;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;

Enregistrez le fichier et quittez. Au final, la nouvelle configuration devrait ressembler à ceci :

server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;

ssl on;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;

root /var/www/html/;
index index.php index.html index.htm;

server_name somesite.com www.somesite.com;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
## include fastcgi_params;
}

}

Remarque - la ligne du nom du serveur doit refléter votre nom de domaine. L'entrée dans la configuration ci-dessus est juste utilisée comme exemple.

Une fois la configuration enregistrée, quittez l'éditeur et redémarrez le serveur Nginx :

sudo systemctl restart nginx.service

Et c'est tout.

Résumé

Nous avons couvert les étapes de configuration de l'origine Cloudflare SSL avec Nginx. Encore une fois, je dois déclarer que les certificats d'origine sont les seuls qui sont gratuits dans le plan gratuit Cloudflare. Ils ne sont pas la solution SSL parfaite, mais ils fonctionnent très bien et prennent en charge de nombreux protocoles SSL. Considérant qu'ils offrent des certificats gratuits jusqu'à 15 ans, ce n'est même pas mal du tout.

Ce n'est bien sûr pas la seule méthode gratuite pour sécuriser votre site Web avec un SSL gratuit. Une autre bonne option, qui est aussi, sinon la méthode la plus populaire, est avec un SSL du service Let's encrypt. Nous avons couvert le même processus pour sécuriser un site Web Nginx avec Let's Encrypt SSL. Vous pouvez consulter la publication sur ce lien.

Je vous remercie pour votre temps et j'espère que l'information a été utile.


Linux
  1. Comment installer un certificat SSL sur NGINX

  2. Comment configurer Nginx pour travailler avec PHP via PHP-FPM

  3. Comment configurer plusieurs SSL sur une seule IP avec Nginx

  4. Comment configurer IMAP avec SSL

  5. Comment configurer VSFTPD avec une connexion cryptée SSL/TLS ?

Comment utiliser Let's Encrypt avec Cloudflare

Comment utiliser CloudFlare CDN avec un SSL ?

Comment configurer PHP-FPM avec NGINX

Comment sécuriser Nginx avec le certificat SSL Let's Encrypt

Comment configurer NGINX sur un serveur CentOS 7

Comment configurer l'équilibrage de charge avec NGINX sur Jelastic Cloud