L'architecture des services web

La chaîne qui sert un site : serveur web, hôtes virtuels, proxy inverse, serveur d'application, base de données, terminaison TLS et journaux, en deux et trois niveaux.

  • 27 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Sur le schéma
  5. Mises en situation

Quelques cartes du deck

  • Hôte virtuel : de quoi s'agit-il ?

    Voir la réponse

    Configuration qui permet à un même serveur de servir plusieurs sites, en choisissant le contenu d'après le nom demandé.

    Le nom vient de l'en-tête Host en HTTP ; en HTTPS, il est déjà connu à l'ouverture de la connexion grâce à l'extension SNI, ce qui permet de choisir le bon certificat.

  • Quel bloc répond à une requête HTTPS portant « Host: wiki.example.org » ?

    ```text
    server { listen 443 ssl; server_name www.example.org; }
    server { listen 443 ssl; server_name intranet.example.org; }
    server { listen 443 ssl default_server; server_name _; }
    `

    • Le troisième, qui est le serveur par défaut
    • Le premier, le plus proche du nom demandé
    • Le deuxième, car il est écrit juste après
    • Aucun : nginx renvoie une erreur 404
    Voir la réponse

    Le troisième, qui est le serveur par défaut

    nginx compare le nom demandé aux server_name. Aucun ne correspond à wiki.example.org : c'est le bloc marqué default_server qui répond, pas le plus ressemblant.

  • Dans nginx, la directive … choisit le bloc d'après l'en-tête Host, et … transmet la requête à l'application.

    Voir la réponse

    Dans nginx, la directive server_name choisit le bloc d'après l'en-tête Host, et proxy_pass transmet la requête à l'application.

    Les deux se retrouvent dans presque toute configuration de proxy inverse : l'une sélectionne le site, l'autre désigne l'amont.

  • Proxy inverse : de quoi s'agit-il ?

    Voir la réponse

    Serveur placé devant d'autres serveurs : il reçoit les requêtes des clients et les transmet à celui qui doit y répondre.

    Il agit au nom des serveurs, alors qu'un proxy direct agit au nom des clients. Il sert aussi à répartir la charge, mettre en cache et centraliser TLS.