Un bloc serveur Nginx est l'équivalent d'un hôte virtuel Apache. Il donne aux utilisateurs la possibilité d'héberger de nombreux sites Web sur le même serveur. Il s'agit d'une approche rentable d'hébergement de sites Web au lieu de configurer différents serveurs et de les configurer pour différents domaines.
Dans cette procédure pas à pas, nous allons démontrer la configuration d'un bloc de serveur Nginx. Ensuite, nous vous montrerons comment vous pouvez sécuriser le serveur Web avec Let's Encrypt SSL qui est un SSL gratuit.
Prérequis
Avant de continuer, assurez-vous que Nginx est installé. Nous avons un tutoriel complet qui décrit l'installation de l Nginx sur CentOS 8. Vérifiez également que votre nom de domaine pointe vers l'adresse IP publique de votre serveur virtuel. Pour vous en assurer, rendez-vous chez votre fournisseur de nom de domaine et configurez l'enregistrement A pour qu'il pointe vers l'adresse IP du serveur.
Ici, l'adresse IP pointe vers le domaine appelé linuxtechgeek.info que nous allons utiliser tout au long de ce guide.
Étape 1 :Créer la racine du document pour le domaine
Nous allons commencer par créer un répertoire pour notre domaine qui stockera les fichiers du site Web. Alors, exécutez la commande ci-dessous pour y parvenir.
$ sudo mkdir -p /var/www/linuxtechgeek.info/html
À des fins de démonstration, nous allons créer un exemple index.html fichier.
$ sudo vim /var/www/linuxtechgeek.info/html/index.html
Collez les lignes HTML suivantes.
<html> <head> <title>Welcome to my domain.info</title> </head> <body> <h1>Hey fellaz!!.The server block is working.</h1> </body> </html>
Bien sûr, n'hésitez pas à modifier le contenu du corps selon vos préférences. Ensuite, configurez la propriété du répertoire du domaine pour éviter tout problème d'autorisation.
$ sudo chown -R nginx /var/www/linuxtechgeek.info/
Et définissez les autorisations comme indiqué.
$ sudo chmod -R 755 /var/www/linuxtechgeek.info/
Génial! Configurons maintenant le fichier de bloc du serveur.
Étape 2 :Créer un fichier de bloc de serveur Nginx
Nous allons configurer le fichier de blocage du serveur Nginx dans le fichier /etc/nginx/conf.d répertoire comme suit.
$ sudo vim /etc/nginx/conf.d/linuxtechgeek.info.conf
Collez la configuration suivante
server { listen 80; server_name linuxtechgeek.info www.linuxtechgeek.info; root /var/www/linuxtechgeek.info/html; index index.php index.html index.htm; access_log/var/log/nginx/linuxtechgeek.info.access.log; error_log /var/log/nginx/linuxtechgeek.info.error.log; }
Sauvegarder et quitter. Une fois cela fait, vérifiez si toutes les configurations sont correctes.
$ sudo nginx -t
De la sortie, tout semble très bien. Pour appliquer toutes les modifications apportées, redémarrez le serveur Web Nginx.
$ sudo systemctl restart nginx
Et assurez-vous qu'il est en cours d'exécution.
$ sudo systemctl status nginx
Maintenant, parcourez votre site Web et vous serez dirigé vers le fichier index.html de votre bloc de serveur.
http://domain-name.come
Étape 3 :Sécurisez Nginx avec Let's Encyrpt SSL
Notre bloc serveur est déjà configuré, mais le serveur Web n'est pas encore chiffré. Le cryptage du site à l'aide d'un certificat SSL est crucial pour sécuriser les informations envoyées vers et depuis le serveur Web. Un certificat SSL améliorera également le classement Google de votre site et stimulera les interactions avec vos clients.
Let's Encrypt est une autorité de certification (autorité de certification) mondiale gratuite qui permet aux utilisateurs d'obtenir et de sécuriser leurs sites à l'aide d'un certificat SSL/TLS gratuit. Nous allons installer Certbot qui automatisera l'installation du certificat SSL gratuit de Let's Encrypt.
$ sudo dnf install certbot python3-certbot-nginx
Une fois installé, exécutez cerbot comme suit pour installer le certificat SSL Let's Encrypt
$ sudo certbox --nginx
Suivez les invites comme indiqué.
Étape 3 :Gérer le renouvellement du certificat
Le certificat Let's Encrypt est valide jusqu'à 90 jours. Cependant, une notification vous sera envoyée 20 jours avant l'expiration et plusieurs notifications de 10 jours au dernier jour.
Vous pouvez renouveler le certificat manuellement à l'aide de la commande :
$ sudo certbot renew
Pour automatiser le renouvellement, créez une nouvelle tâche cron.
$ crontab -e
Ajoutez cette ligne et enregistrez les modifications.
0 0 * * * /usr/bin/certbot renew > /dev/null 2>&1
Et c'est tout! C'est ainsi que vous pouvez configurer un bloc de serveur Nginx et sécuriser votre serveur Web à l'aide de Let's Encrypt SSL.