Maison  >  Article  >  Opération et maintenance  >  Surveillance des certificats SSL dans le proxy inverse Nginx

Surveillance des certificats SSL dans le proxy inverse Nginx

WBOY
WBOYoriginal
2023-06-10 10:52:401440parcourir

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.

Utilisation du certificat SSL dans le proxy inverse Nginx

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.

Utiliser OpenSSL pour générer un certificat SSL

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.

Configuration des certificats SSL dans Nginx

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.

Suivi des certificats SSL

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 :

1 Afficher le délai d'expiration du certificat

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.

2. Nagios Monitoring

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.

3. Let's Encrypt

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.

Conclusion

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn