Recommended Free Tools
Pour durcir NGINX, vérifiez d’abord la version et les modules réellement installés, puis sécurisez TLS et la clé privée, réduisez les informations divulguées, limitez les méthodes et les accès, configurez les limites de requêtes en fonction du trafic et définissez explicitement le comportement réservé aux noms d’hôte inconnus. Testez chaque changement avant de recharger le service. Les exemples ci-dessous sont des points de départ à adapter à votre application et à votre déploiement, pas un fichier universel à copier.
Commencez par inventorier le serveur
Une directive n’est utile que si le binaire installé la comprend et si elle correspond au rôle du serveur. NGINX peut servir directement des pages, agir comme mandataire inverse, terminer TLS, ou combiner ces fonctions. Les modules disponibles dépendent de la façon dont le paquet a été construit : un module peut être absent ou activé explicitement lors de la compilation.
- Relevez la version avec
nginx -v. Pour afficher les options de compilation et les modules intégrés, utiliseznginx -V. - Examinez la configuration effectivement chargée, les fichiers inclus et les éventuels blocs
http,serveretlocationdont les directives héritent. - Identifiez les applications et chemins exposés, les méthodes HTTP nécessaires, les adresses d’origine attendues et la présence éventuelle d’un CDN ou d’un équilibreur en amont.
- Vérifiez les avis de sécurité correspondant à votre version et aux modules actifs; la seule présence d’une directive ou d’un exemple dans une page de documentation ne prouve pas qu’une installation précise est vulnérable ou à jour.
La documentation officielle de compilation décrit des modules activables ou omissibles. L’historique officiel njs comporte notamment une entrée datée du 2 septembre 2026 signalant un contournement de contrôle d’accès js_access dans les versions affectées. Cela rappelle qu’il faut suivre les versions et modules réellement utilisés; ce signalement ne permet pas de conclure qu’un serveur donné est vulnérable.
Configurez HTTPS sans casser la compatibilité requise
Un serveur HTTPS a besoin d’un certificat, de sa clé privée et d’une politique TLS adaptée. Dans la configuration NGINX, le bloc de serveur TLS utilise notamment listen 443 ssl, ssl_certificate et ssl_certificate_key. Vérifiez les chemins et les permissions après chaque rotation de certificat.
#1 Best Overall
Choisissez les protocoles en fonction de la version
Les valeurs par défaut actuellement documentées par NGINX comprennent TLS 1.2 et TLS 1.3, ainsi que la suite HIGH:!aNULL:!MD5. La documentation avertit que ces valeurs par défaut ont changé à plusieurs reprises. Il ne faut donc pas recopier aveuglément une vieille configuration trouvée en ligne, ni supposer que toutes les versions installées ont les mêmes paramètres. Vérifiez la documentation correspondant à votre version et les exigences de compatibilité de vos clients avant de fixer les protocoles ou les suites.
Exemple de structure à adapter, et non de politique cryptographique complète :
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /chemin/vers/certificat.pem;
ssl_certificate_key /chemin/vers/cle-privee.pem;
# Définir la politique après vérification de la version,
# des valeurs par défaut et des besoins de compatibilité.
}
Protégez la clé privée
La clé privée est un secret. La documentation NGINX indique qu’elle doit être conservée dans un fichier aux accès restreints, tout en restant lisible par le processus maître NGINX. Restreindre les permissions ne doit donc pas rendre la clé illisible au service : après un changement de propriétaire ou de permissions, vérifiez que le maître peut toujours démarrer ou recharger la configuration. Évitez de placer la clé dans un emplacement accessible au public via le serveur web.
Rank #2
Évaluez le risque de TLS early data
NGINX documente ssl_early_data comme désactivé par défaut. Les requêtes en early data peuvent être rejouées. Ne l’activez que si l’application traite correctement ce risque pour les opérations concernées; une requête dont l’exécution répétée a des conséquences ne doit pas être considérée comme sûre simplement parce qu’elle passe par TLS.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteRéduisez les informations divulguées
La directive server_tokens contrôle l’émission de la version NGINX dans les pages d’erreur et dans l’en-tête Server. Réduire cette information évite de révéler un indice de version, mais ne corrige pas une faille et ne remplace ni les mises à jour, ni l’isolation, ni les contrôles d’accès. Définissez son comportement dans le contexte approprié après vérification de la documentation de votre version, puis contrôlez les réponses réelles, y compris les erreurs.
Limitez les méthodes et contrôlez les accès
N’autorisez que les méthodes utiles à chaque route
Une application peut nécessiter des méthodes différentes selon ses routes. Faites l’inventaire des méthodes réellement utilisées avant de bloquer quoi que ce soit : un refus général peut interrompre un formulaire, une API ou un mécanisme de santé. N’ouvrez pas pour autant toutes les méthodes par défaut. La directive limit_except permet de restreindre les méthodes dans une portée de configuration donnée; vérifiez son héritage et son effet dans le contexte exact où vous l’ajoutez.
Rank #3
location /chemin-sensible/ {
limit_except GET {
deny all;
}
# Ajouter seulement les règles et méthodes nécessaires à cette route.
}
Cet exemple ne convient que si cette ressource doit réellement accepter uniquement GET. Les besoins de l’application peuvent imposer d’autres méthodes et une politique différente.
Respectez l’ordre des règles d’adresse
Les règles allow et deny sont examinées dans l’ordre, jusqu’à la première correspondance. Une règle d’autorisation placée après une règle de refus correspondante ne produira donc pas le résultat attendu. Écrivez les règles de façon à rendre l’ordre intentionnel, puis testez au moins une adresse autorisée et une adresse refusée.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →location /admin/ {
allow 192.0.2.10;
deny all;
}
Dans cet exemple, seule l’adresse autorisée peut accéder à la portée visée. Remplacez-la par une adresse ou un réseau adapté à votre contexte et vérifiez que les clients apparaissent à NGINX avec l’adresse attendue; un mandataire en amont peut changer l’adresse observée.
Rank #4
Définissez un comportement pour les noms d’hôte inattendus
Pour une requête HTTP, NGINX examine l’en-tête Host afin de sélectionner un serveur virtuel. Si aucun nom ne correspond, ou si l’en-tête est absent, la requête est dirigée vers le serveur par défaut du port. Désignez explicitement ce serveur dans la directive listen lorsque vous voulez maîtriser ce cas, et choisissez un comportement conforme à votre application.
server {
listen 80 default_server;
server_name _;
# Définir ici le comportement voulu pour les noms inconnus.
}
Le bloc illustre la sélection explicite du serveur par défaut pour le port 80; il ne prescrit pas ce que ce bloc doit renvoyer. Testez un nom d’hôte valide, un nom inattendu et une requête sans en-tête Host. Répétez les vérifications pour les ports et services effectivement exposés.
Réglez les limites de requêtes à partir du trafic réel
Le module ngx_http_limit_req_module limite le traitement selon une clé définie et s’appuie sur un mécanisme de type seau percé. Le choix de la clé et des seuils doit tenir compte du comportement normal de l’application, des rafales légitimes et de la façon dont les adresses clientes arrivent à NGINX.
Best Value
http {
limit_req_zone $binary_remote_addr zone=par_ip:10m rate=5r/s;
server {
location /api/ {
limit_req zone=par_ip burst=10;
}
}
}
Les paramètres du code sont illustratifs, pas des seuils universels ni une recommandation de débit. Mesurez ou observez le trafic attendu, puis choisissez une clé et une limite qui protègent la route sans pénaliser les clients légitimes. Une limite par adresse peut traiter différemment des utilisateurs partageant une adresse publique et ne représente pas nécessairement un utilisateur individuel.
Si NGINX se trouve derrière un CDN ou un équilibreur, vérifiez quelle adresse alimente réellement la clé de limitation. Une valeur d’adresse provenant d’un en-tête transmis ne doit pas être considérée fiable sans configuration adaptée à l’architecture et aux mandataires de confiance. Les exemples génériques ne déterminent pas les réglages propres à un fournisseur donné. Surveillez les refus et ajustez les limites si des rafales légitimes sont bloquées.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Appliquez les changements de façon contrôlée
- Conservez un retour arrière. Sauvegardez les fichiers que vous modifiez et notez les changements ainsi que les services concernés.
- Validez la configuration. Sur les installations où il est disponible,
nginx -tteste la syntaxe et l’ouverture des fichiers référencés. Vérifiez la commande fournie par le binaire et le paquet de votre système; les procédures ne sont pas identiques partout. - Rechargez plutôt que d’interrompre sans nécessité. Un signal HUP fait relire la configuration : NGINX démarre de nouveaux workers avec la nouvelle configuration, puis arrête progressivement les anciens.
- Contrôlez les résultats. Vérifiez les journaux, les réponses TLS, les routes concernées, les méthodes autorisées, les accès par adresse, les requêtes limitées et le comportement pour les hôtes inconnus.
- Revenez en arrière si nécessaire. Si le rechargement échoue ou si l’application se comporte mal, rétablissez la configuration connue comme fonctionnelle, validez-la et appliquez la procédure de rechargement propre à votre installation.
Dépannage : symptômes fréquents et corrections
- La configuration ne passe pas le test : vérifiez la syntaxe, le contexte où la directive est placée, les fichiers inclus, les chemins de certificat et la présence du module nécessaire dans le binaire installé.
- NGINX ne peut pas lire la clé privée : contrôlez le chemin, le propriétaire et les permissions. La clé doit rester restreinte tout en étant lisible par le processus maître.
- Des clients ne peuvent plus établir de connexion TLS : comparez les protocoles configurés et les besoins de compatibilité des clients avec la version réellement installée; ne réintroduisez pas un réglage historique sans vérifier ses implications.
- Une route renvoie un refus inattendu : vérifiez la portée effective de
limit_except, les méthodes envoyées par le client et l’ordre des règlesallow/deny. - Des clients légitimes sont limités : examinez la clé, les rafales normales, les journaux et l’adresse que voit NGINX derrière les mandataires. Ajustez les paramètres d’après le trafic observé plutôt que de supprimer la limite à l’aveugle.
- Un nom d’hôte inattendu atteint un site : confirmez quel bloc est le serveur par défaut sur le port visé et testez les noms inconnus ou absents, pas seulement les noms configurés.
Or skip the browser setup
Si une vérification de configuration demande aussi une capture d’une page web, ScreenshotNeo fournit une API de capture par requête HTTP GET. Exemple cURL :
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
La réponse peut être une image PNG, JPEG ou WebP, ou un PDF selon les paramètres. Consultez la documentation ScreenshotNeo pour la configuration et les options. ScreenshotNeo accepte les bannières de consentement et retire plus de 60 plateformes de consentement connues, les popups de newsletter et les widgets de chat avant la capture; ces étapes peuvent être désactivées. Les vérifications anti-robot/CAPTCHA, pages blanches, délais dépassés et chargements échoués ne sont pas facturés; les en-têtes indiquent le verdict de page et la facturation. Son serveur MCP permet aux agents IA de prendre des captures. Le forfait gratuit comprend 1 000 captures par mois sans carte; les forfaits payants commencent à 5 $ pour 3 000 captures. Créez un compte gratuit ScreenshotNeo.
Free tools Windows power users keep installed
One-click scans. No signup required.
Frequently Asked Questions
Est-ce que masquer la version NGINX suffit à sécuriser le serveur ?
Non. server_tokens réduit une information exposée, mais ne remplace ni la mise à jour des logiciels ni les contrôles d’accès et l’isolation.
Faut-il activer TLS early data ?
Pas par défaut : NGINX le documente désactivé, et les requêtes early data peuvent être rejouées. L’activation dépend de la capacité de l’application à traiter ce risque.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




