Maison > Article > Opération et maintenance > Explication détaillée de la configuration de la sécurité et des stratégies de protection du serveur Nginx
Explication détaillée de la configuration de sécurité et des stratégies de protection du serveur Nginx
Aperçu :
Avec le développement d'Internet et l'avènement de l'ère du big data, la sécurité des serveurs Web fait l'objet de plus en plus d'attention. Parmi les nombreux serveurs Web, Nginx est populaire pour ses avantages tels que des performances élevées, des capacités de traitement hautement simultanées et une conception modulaire flexible. Cet article présentera en détail la configuration de la sécurité et les stratégies de protection du serveur Nginx, notamment le contrôle d'accès, le proxy inverse, la limitation de flux et la configuration HTTPS, etc.
1. Contrôle d'accès
http { server { location / { deny 192.168.1.1; allow all; } } }
Dans la configuration ci-dessus, l'accès avec l'IP 192.168.1.1 est refusé et les autres IP sont accessibles normalement.
http { server { location / { limit_conn conn_limit_per_ip 10; limit_req zone=req_limit_per_ip burst=20 nodelay; } } }
Dans la configuration ci-dessus, le nombre de connexions simultanées par IP est limité à 10 et la fréquence des requêtes par IP est limitée à 20 par seconde.
2. Proxy inverse
http { server { location / { proxy_pass http://backend; proxy_set_header X-Real-IP $remote_addr; } } upstream backend { server backend1.example.com; server backend2.example.com; } }
Dans la configuration ci-dessus, la requête sera envoyée à backend1.example.com et backend2.example.com, et la véritable IP de la requête d'origine sera définie dans l'en-tête HTTP. .
http { upstream backend { server backend1.example.com; server backend2.example.com; } server { location / { proxy_pass http://backend; } } }
Dans la configuration ci-dessus, les requêtes seront envoyées aux serveurs de backend1.example.com et backend2.example.com de manière égale.
3. Limitation actuelle
http { limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=10r/s; server { location / { limit_req zone=req_limit_per_ip burst=20 nodelay; } } }
Dans la configuration ci-dessus, le débit d'accès de chaque IP est limité à 10 fois par seconde et le nombre de rafales de requêtes est fixé à 20.
http { server { client_max_body_size 10m; ... } }
Dans la configuration ci-dessus, la taille du téléchargement de fichier est limitée à 10 Mo.
4. Configuration HTTPS
server { listen 80; server_name example.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/ssl_certificate.pem; ssl_certificate_key /path/to/ssl_certificate_key.pem; ... }
Dans la configuration ci-dessus, redirigez la connexion HTTP vers une connexion HTTPS et configurez le certificat SSL et la clé privée.
Résumé :
Cet article présente la configuration de la sécurité et la stratégie de protection du serveur Nginx, y compris le contrôle d'accès, le proxy inverse, la limitation de flux et la configuration HTTPS, etc. En configurant et en utilisant correctement ces politiques, la sécurité des serveurs et des sites Web peut être améliorée et la sécurité des données des systèmes et des utilisateurs peut être protégée. Cependant, il convient de noter que différents environnements et besoins peuvent nécessiter des configurations ciblées, et que les développeurs doivent effectuer des sélections et des ajustements en fonction des conditions réelles.
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!