Nginx est un serveur Web et un serveur proxy inverse hautes performances. Il est largement utilisé dans de nombreux grands sites Web et applications car il est stable et fiable. Le certificat SSL (Secure Sockets Layer) est un certificat numérique utilisé pour transférer en toute sécurité des données entre le client et le serveur. Dans Nginx, l'utilisation de certificats SSL est étroitement liée au proxy inverse. Cet article explorera l'utilisation des certificats SSL dans le proxy inverse Nginx et sa surveillance.
Dans Nginx, le serveur proxy inverse agit comme un serveur frontal, recevant les requêtes des clients et les transmettant au serveur backend . Lorsque Nginx agit comme serveur proxy inverse, il peut également être utilisé pour chiffrer et déchiffrer les connexions SSL, ce qui nécessite l'utilisation d'un certificat SSL.
Afin de configurer le certificat SSL dans Nginx, nous devons d'abord générer le certificat SSL. Les certificats peuvent être générés à l'aide de nombreux outils différents, notamment OpenSSL, ACME Client et Certbot. Ici, nous prenons l'exemple de l'utilisation d'OpenSSL pour générer un certificat.
Avant d'utiliser OpenSSL pour générer un certificat SSL, nous devons installer OpenSSL sur le serveur. Nous pouvons utiliser la commande suivante pour vérifier si OpenSSL a été installé :
openssl version
Si les informations de version d'OpenSSL sont renvoyées, cela signifie qu'il a été installé. S'il n'est pas installé, vous pouvez l'installer via la commande suivante :
sudo apt-get update sudo apt-get install openssl
Une fois l'installation terminée, nous pouvons utiliser la commande suivante pour générer le certificat :
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
Cette commande générera un certificat valide pour un certificat SSL auto-signé de 365 jours et le stockera dans le répertoire /etc/nginx/ssl. Parmi eux, nginx.key est le fichier de clé privée et nginx.crt est le fichier de certificat.
Une fois les certificats générés, ils peuvent être configurés dans Nginx. La configuration suivante peut être ajoutée au fichier de configuration Nginx :
server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; location / { proxy_pass http://localhost:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # This line enables HTTPS for the proxy proxy_ssl_verify on; proxy_ssl_certificate /etc/nginx/ssl/nginx.crt; proxy_ssl_certificate_key /etc/nginx/ssl/nginx.key; proxy_ssl_session_reuse on; } }
Cette configuration signifie que Nginx écoutera les connexions HTTPS sur le port 443 et utilisera le certificat SSL généré pour chiffrer la connexion. Il configure également un proxy inverse qui transmet les requêtes des clients à http://localhost:8000.
Les certificats SSL sont valables pour une durée limitée. Une fois qu’un certificat expire, il n’est plus valide, ce qui rend le site Web dangereux. Par conséquent, le certificat SSL utilisé dans le proxy inverse Nginx doit être surveillé pour garantir la période de validité du certificat.
Voici quelques méthodes courantes de surveillance des certificats SSL :
Vous pouvez utiliser la commande suivante pour afficher. le délai d'expiration du certificat SSL Heure d'expiration :
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
où exemple.com est le nom de domaine de votre site web. Cette commande affichera la date de début et la date d'expiration du certificat.
Nagios est une solution de surveillance complète qui vous aide à surveiller les serveurs, les applications et les services réseau. Il peut également surveiller le délai d'expiration des certificats SSL. Pour utiliser Nagios pour surveiller les certificats SSL, vous devez installer Nagios et le plugin SSL Certificate Monitoring pour Nagios.
Let's Encrypt est une autorité de certification SSL gratuite qui vous aide à configurer facilement les certificats SSL pour le proxy inverse Nginx. De plus, les certificats Let's Encrypt sont valables 90 jours, vous devez donc renouveler votre certificat régulièrement.
Pour utiliser Let's Encrypt pour obtenir un certificat SSL, vous devez installer Certbot. Après avoir installé Certbot, vous pouvez exécuter la commande suivante pour obtenir le certificat :
sudo certbot certonly --webroot -w /var/www/example.com -d example.com
où /var/www/example.com est le répertoire racine de votre site Web et example.com est le nom de domaine de votre site web. Certbot le vérifiera automatiquement sur votre serveur et vous délivrera un certificat.
Cet article présente l'utilisation et la méthode de surveillance du certificat SSL dans le proxy inverse Nginx. Lorsque vous utilisez un certificat SSL, vous devez vérifier régulièrement la date d'expiration du certificat. En renouvelant automatiquement les certificats à l'aide de la surveillance Nagios ou de Let's Encrypt, vous pouvez vous assurer que votre certificat est toujours valide. La surveillance des certificats SSL est une étape critique dans la protection de votre site Web et des données clients.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!