Plan du cours

  1. Protocole HTTP/1.x
    1. Format des requêtes et des réponses
    2. Inspection des conversations HTTP avec tcpdump et Wireshark (en anglais)
    3. Inspecter les en-têtes HTTP dans un navigateur web
    4. Effectuer des requêtes avec CURL
    5. En-têtes communs
    6. Pipeline de requêtes
    7. Longueur du contenu et encodage par morceaux
    8. Types MIME
  2. Nginx installation
    1. Installation de nginx à partir de paquets Debian.
    2. Variantes de nginx disponibles dans Debian et Ubuntu
    3. Installation de nginx à partir des sources
    4. Démarrer nginx
    5. Mise à jour de nginx
  3. nginx Nginx en tant que serveur de fichiers statique
    1. Structure générale du fichier de configuration
    2. Configuration des hôtes virtuels
    3. Configuration des emplacements
    4. Ordre de recherche des emplacements
    5. Configuration des pages d'erreur
    6. Création de redirections
    7. Autres formes de réécriture d'URL
    8. Servir une image GIF vide
    9. Emplacements internes et nommés
    10. Remplacer les types MIME
  4. Optimisation des performances côté client
    1. Permettre aux clients de mettre des ressources en cache
    2. L'en-tête Vary :
    3. Minimiser le nombre de requêtes
    4. Maintien en vie
    5. Que faire si une ressource doit être modifiée ?
    6. Comment les frameworks web gèrent les fichiers statiques
  5. Post-traitement du contenu
    1. Compression Gzip
    2. Mise à l'échelle des images
  6. Contrôle Access
    1. Restriction de l'accès aux fichiers sur la base de l'adresse IP
    2. Restrictions géographiques
    3. Masquage des répertoires VCS et des fichiers privés
    4. Authentification de base
    5. Autres types d'authentification
    6. Combinaison de restrictions
    7. Liens sécurisés
  7. Application de limites
    1. Mise en forme du trafic
    2. Regroupement des demandes à des fins de limitation
    3. Limitation du débit des requêtes
    4. Restreindre les connexions simultanées
  8. Nginx en tant que proxy inverse
    1. Protocoles en amont pris en charge
    2. Traitement des certificats SSL auto-signés en amont
    3. Transmission de paramètres aux backends FastCGI et uWSGI
    4. Proxy des connexions websocket
    5. En-têtes X-Accel-*
    6. Modification des en-têtes reçus et envoyés par l'amont
  9. Configurations de proxy inverse spécifiques à une langue
    1. PHP
    2. Python
    3. Ruby
  10. Nginx comme terminateur SSL
    1. Générer des certificats SSL auto-signés
    2. Obtenir des certificats auprès de Let's Encrypt
    3. Restreindre les algorithmes de chiffrement disponibles
    4. Travailler avec des tickets de session
    5. Agrafage des réponses OCSP
    6. Vérification de la configuration SSL
    7. Acceptation des certificats côté client
    8. Considérations relatives à HTTP/2
  11. Équilibrage de la charge avec Nginx
    1. Définition des groupes en amont
    2. Sessions collées à l'aide de ip_hash
    3. Fonctionnalités supplémentaires de Nginx Plus en tant qu'équilibreur de charge
    4. Alternatives à Nginx et Nginx Plus
    5. Placer un autre Nginx derrière un équilibreur de charge Nginx.
    6. Placer un Nginx derrière un équilibreur de charge HAProxy ou AWS
  12. Nginx en tant que cache
    1. Dire à nginx de mettre les pages en cache
    2. Comment nginx réagit aux en-têtes standards liés à la mise en cache
    3. Paramètres ajustables des caches
    4. Cache Nginx et cache au niveau de l'application
    5. Effacer le cache
  13. Déploiement d'applications web populaires avec Nginx
    1. La liste des applications à discuter est déterminée par le formateur.
  14. Journalisation
    1. Fichiers de log et d'erreur Access
    2. Spécifier un format de journal personnalisé
    3. Suivi des requêtes lentes
    4. Optimisation de la journalisation
    5. Rotation des journaux
    6. Analyse du journal par des programmes externes
  15. Surveillance Nginx
    1. Page d'état du stub Nginx
    2. Nginx Plus page d'état en direct étendue
    3. Ce que les systèmes de surveillance tracent et alertent habituellement Nginx
  16. [optionnel] Haute disponibilité avec Nginx¹
    1. Comment déployer le même contenu statique sur plusieurs serveurs ?
    2. Partage de configuration
    3. Basculement à l'aide d'une adresse IP élastique/virtuelle
    4. Configurer VRRP avec Keepalived
    5. Autres piles de haute disponibilité
    6. Nginx Intégration de Plus avec Keepalived
  17. Erreurs courantes et problèmes de sécurité liés à la configuration Nginx.
  18. Problèmes de performance courants

¹ La section Haute disponibilité implique une configuration réseau qui rend les systèmes de détection d'intrusion malheureux, ou nécessite la mise en place de plusieurs machines virtuelles par participant (ce dont aucun autre sujet n'a besoin). Elle n'est donc pas fournie par défaut.

Pré requis

Les participants doivent être à l'aise avec une ligne de commande Linux et avoir une connaissance pratique de TCP/IP.

 21 Heures

Nombre de participants


Prix ​​par Participant

Nos clients témoignent (1)

Cours à venir

Catégories Similaires