Nginx (serveur Web)


Services réseau


DRA-NALC      


À LA CARTE !

VOUS sélectionnez les sujets qui vous intéressent et
VOUS choisissez la durée que vous voulez y consacrer


Durée
      de 1 à 4 jour(s)

 



Objectif

Être capable d'installer, configurer, sécuriser et administrer un serveur web Nginx, que ce soit en tant que serveur de contenus statiques, reverse proxy, équilibreur de charge ou frontal d'applications.

Description

Autre fleuron du logiciel libre, disponible gratuitement, le serveur Nginx continue à diffuser nombre de sites Web (environ 30% en 2026). Réputé pour sa robustesse et sa grande polyvalence, il a la faveur aussi bien des plus importantes sociétés que des apprentis webmestres. Il trouve sa place tant sur Internet que dans les intranets.

Prérequis

Maîtrise d'un système UNIX/Linux en tant qu'utilisateur et connaissances fondamentales des réseaux TCP/IP.

Public

Administrateurs système, ingénieurs réseau/DevOps, webmestres.

Sujets abordés

  • Fondamentaux TCP/IP et protocole HTTP
    • Notions essentielles TCP/IP
      • Adressage IP (public vs privé, IPv6)
      • Ports et services réseau majeurs
      • Résolution de noms (DNS, fichiers hosts, mécanismes de résolution client)

    • Serveur Web et dialogue client/serveur
      • Anatomie du protocole HTTP (requêtes, en-têtes, codes de statut HTTP)
      • Simulation de requêtes manuelles (curl, wget, telnet, nc, openssl s_client)
      • Extension des protocoles : HTTP/2, HTTP/3 (QUIC) et WebDAV

  • Présentation et architecture de Nginx
    • Positionnement et philosophie
      • Pourquoi Nginx ? Modèle event-driven (événementiel non-bloquant) vs modèle process/thread (Apache)
      • Cas d'usage : serveur statique, Reverse Proxy, API Gateway, Load Balancer

    • Architecture interne
      • Le processus Master et les processus Workers
      • Gestion de la mémoire et traitement des connexions simultanées (epoll/kqueue)

    • Installation et gestion du service
      • Installation via gestionnaires de paquets ou paquets officiels Nginx
      • Compilation sur-mesure à partir des sources (ajout de modules tiers)
      • Invocations et signaux de contrôle
      • Arborescence par défaut

  • Structure de la configuration Nginx
    • Syntaxe du fichier nginx.conf
      • Directives simples et blocs de contexte (main, events, http, server, location)
      • Portée, règles d'héritage et inclusions

    • Hébergement virtuel (Virtual Hosts / Server Blocks)
      • Serveurs virtuels basés sur le nom de domaine (server_name)
      • Serveurs virtuels basés sur l'adresse IP et le port (listen)
      • Gestion de l'hôte par défaut (default_server) et requêtes non identifiées

    • Traitement des URLs et des Blocs location
      • Priorités d'évaluation des règles location (préfixes, caractères génériques, expressions régulières = ~ ~* ^~)
      • Gestion des index, répertoires, alias (root vs alias) et erreurs personnalisées (error_page)
      • Réécriture d'URL et redirections (rewrite, return, try_files)

  • Rapports d’activité et journalisation
    • Gestion des Journaux (logs)
      • Directives access_log et error_log
      • Personnalisation des formats de logs via log_format (champs réseau, temps de réponse, variables)
      • Filtrage conditionnel des logs (ex. : ignorer les health checks)

    • Exploitation et maintenance
      • Rotation des logs avec logrotate et réouverture des descripteurs (nginx -s reopen)
      • Parsing et analyse de logs avec des outils dédiés (GoAccess, AWStats)
      • Supervision de l'état en temps réel (stub_status / Nginx Plus)

  • Traitement des contenus dynamiques
    • Incapacité native d'exécution CGI directe et architecture déportée
      • Modèle de délégation via sockets Unix ou TCP

    • Protocole FastCGI et applications Web
      • Traitement de PHP via PHP-FPM (configuration, pool de processus, fastcgi_pass)
      • Directives de transmission (fastcgi_param, gestion des buffers)

    • Applications Python / Ruby / Node.js / Go
      • Proxying vers des serveurs d'applications (uWSGI, Gunicorn, PM2, Puma)

    • Gestion des formulaires et des téléversements
      • Directives d'ajustement de taille de requête (client_max_body_size)

  • Reverse Proxy et équilibrage de charge
    • Proxy inversé (Reverse Proxy)
      • Directives proxy_pass et réécriture des en-têtes HTTP (Host, X-Real-IP, X-Forwarded-For, X-Forwarded-Proto)
      • Gestion des timeouts et des tampons (proxy_buffer_size, proxy_buffers)
      • Support des WebSockets et du streaming (Server-Sent Events)

    • Équilibrage de charge (Load Balancing)
      • Bloc upstream et méthodes de répartition : Round-Robin, Least Connections (least_conn), IP Hash (ip_hash), Poids (weight)
      • Détection de pannes et tolérance aux fautes (max_fails, fail_timeout, backup, down)

  • Optimisation et performances
    • Paramétrage système et noyau
      • Ajustement des limites de fichiers (ulimit -n, worker_rlimit_nofile)
      • Optimisation des connexions worker_connections et worker_processes (mode auto)

    • Gains de vitesse et caching
      • Directives d'envoi efficace de fichiers (sendfile, tcp_nopush, tcp_nodelay)
      • Mise en cache de contenus dynamiques via proxy_cache (définition des zones, proxy_cache_valid, purging)
      • Cache des métadonnées de fichiers (open_file_cache)

    • Compression et économie de bande passante
      • Activation et réglages de gzip (niveaux de compression, types MIME)
      • Support optionnel de Brotli

  • Sécurité, contrôle d’accès et chiffrement (SSL/TLS)
    • Minimisation des risques
      • Masquage de la version de Nginx (server_tokens off;)
      • Restriction des méthodes HTTP et limitation du débit/connexions (limit_req, limit_conn)

    • Contrôle d’accès et authentification
      • Restauration/filtrage par adresse IP (allow, deny)
      • Authentification HTTP Basic (auth_basic, htpasswd)
      • Intégration optionnelle avec des systèmes tiers via auth_request (OAuth2, LDAP, etc.)

    • Mise en œuvre du chiffrement SSL/TLS
      • Concepts de cryptographie asymétrique, certificats X.509 et chaîne de certification
      • Configuration HTTPS (ssl_certificate, ssl_certificate_key)
      • Intégration avec Let's Encrypt / Certbot (renouvellement automatique)
      • Sécurisation TLS moderne (désactivation des protocoles obsolètes, sélection de ciphers sécurisés, HTTP Strict Transport Security / HSTS, OCSP Stapling)


Tarifs

Forfait 1-2 personnes : 1100 € H.T. pour 1 journée, 2000 € H.T. pour 2 jours, 2700 € H.T. pour 3 jours, 3250 € H.T. pour 4 jours

Forfait 3-5 personnes : 1650 € H.T. pour 1 journée, 3000 € H.T. pour 2 jours, 4000 € H.T. pour 3 jours, 4800 € H.T. pour 4 jours

Forfait 6-9 personnes : 2350 € H.T. pour 1 journée, 4200 € H.T. pour 2 jours, 5600 € H.T. pour 3 jours, 6700 € H.T. pour 4 jours

 

https://formation.diablotin.com
Nous envoyer un courrier électronique