Ce guide concerne NGINX Open Source. Vérifiez la version, les modules compilés ou chargés et les particularités de votre paquet.
Identifier le processus qui effectue l’accès
Le processus master et les workers n’ont pas nécessairement la même identité. Le master lit la configuration et gère les workers ; ceux-ci prennent en charge les requêtes. La directive user concerne les credentials des workers lorsque le démarrage permet cette séparation de privilèges.
Avant de modifier les droits, identifiez l’utilisateur effectif, le mode de lancement et le fichier concerné. Le diagnostic diffère entre une clé chargée au démarrage, un fichier statique lu pour une requête et un répertoire de cache écrit pendant le service. Un accès réussi depuis votre shell ne prouve pas celui du worker.
Sources : NGINX / F5, Core functionality ; NGINX / F5, Controlling nginx.
Raisonner sur l’ensemble du chemin
Pour accéder à un fichier, les permissions des répertoires parents comptent autant que celles du fichier final. Sur un répertoire, le droit de traversée permet de rechercher un nom. Un fichier lisible peut donc rester inaccessible si un parent ne permet pas le passage à l’identité concernée.
Les restrictions de l’environnement peuvent aussi intervenir : montage en lecture seule, isolation du service ou contrôle d’accès supplémentaire. Commencez par les faits du journal et les identités, puis examinez ces contraintes. Évitez de remplacer l’analyse par des permissions ouvertes à tous.
Sur une distribution utilisant SELinux, les droits Unix ne sont qu’une partie du diagnostic. Examinez contexte du processus, labels des fichiers et refus enregistrés. La documentation RHEL 9 décrit aussi le contrôle des connexions sortantes du reverse proxy. Une modification de mode Unix ne corrige pas nécessairement un refus SELinux ; utilisez la procédure correspondant à votre distribution.
ps -eo user,pid,ppid,args | rg "nginx:|nginx$"
ls -ld /srv /srv/revision /srv/revision/public
ls -l /srv/revision/public/index.html Sources : NGINX / F5, Beginner’s Guide ; NGINX / F5, Core functionality ; Red Hat, Setting up and configuring NGINX.
Séparer lecture publique et données sensibles
Les pages publiques, clés privées, journaux et contenus de cache n’ont pas la même sensibilité. Le répertoire publié ne doit pas servir de stockage aux sauvegardes ou secrets. Le droit nécessaire pour servir un contenu ne doit pas donner à l’application la possibilité de remplacer la clé TLS.
Une modification de propriétaire ou de mode peut résoudre un symptôme tout en créant une exposition plus large. Définissez le droit attendu pour chaque acteur, puis utilisez le mécanisme d’administration adapté à votre distribution. La recette doit comporter un accès autorisé et un accès qui reste refusé.
| Objet | Besoin à vérifier |
|---|---|
| Contenu statique | Lecture du fichier et traversée des parents |
| Cache/temporaire | Écriture par le processus approprié |
| Clé privée | Accès strictement limité à son chargement |
| Configuration | Modification réservée aux administrateurs |
Sources : NGINX / F5, Core functionality ; NGINX / F5, Configuring HTTPS servers.
Exercice : un 403 après une migration de fichiers
Le même hôte répond, mais un fichier auparavant disponible produit un refus. Comparez le chemin attendu, l’identité des workers, les droits des parents et le journal d’erreur. Une absence de fichier d’index peut aussi être un problème de configuration ; ne concluez pas automatiquement à une permission.
Votre compte rendu doit établir quelle opération a échoué et pour quelle identité. Après correction minimale, validez la configuration et rejouez la requête ciblée. Contrôlez également qu’un fichier non public ne devient pas accessible au passage.
Sources : NGINX / F5, Module ngx_http_core_module ; NGINX / F5, Core functionality.
Sources et portée
Références consultées le . Les exemples utilisent des noms et adresses de documentation à remplacer. Les commandes de lecture affichent l’existant ; les captures et requêtes de diagnostic sont à limiter au périmètre autorisé.
- NGINX / F5 — Core functionality · Référence officielle ; vérifier le périmètre de version · consulté le 3 octobre 2026.
- NGINX / F5 — Controlling nginx · Référence officielle ; vérifier le périmètre de version · consulté le 3 octobre 2026.
- NGINX / F5 — Beginner’s Guide · Référence officielle ; vérifier le périmètre de version · consulté le 3 octobre 2026.
- Red Hat — Setting up and configuring NGINX · Red Hat Enterprise Linux 9 · consulté le 3 octobre 2026.
- NGINX / F5 — Configuring HTTPS servers · Référence officielle ; vérifier le périmètre de version · consulté le 3 octobre 2026.
- NGINX / F5 — Module ngx_http_core_module · Référence officielle ; vérifier le périmètre de version · consulté le 3 octobre 2026.
Retrouver le parcours de lecture F5 NGINX