# Rôle `serveur_web_frontal` > **Généré** par `scripts/fiche_role.py` depuis les `meta/` de ce rôle. > Ne pas éditer à la main : corriger la déclaration, puis régénérer. > **Pour qui :** celui qui doit agir sur ce rôle et veut savoir, avant de toucher quoi que ce soit, qui lui parle, ce qu'il rend, et ce qu'il coûte. ```mermaid graph LR R["web_frontal"] E0["externe"] -->|"443 · tls-requis"| R E1["externe"] -->|"80 · clair"| R R -.->|"sonde « frontal »"| ICINGA[["Icinga"]] ``` ## Qui lui parle | port | depuis | chiffrement | pourquoi | |---|---|---|---| | `80` | `externe` | clair | HTTP public, relaye a travers le WAF — et le defi HTTP d'ACME ; renverra vers HTTPS quand le certificat sera la. | | `443` | `externe` | tls-requis | HTTPS public — les sites et services que le locataire publie sur l'Internet (attend son certificat Let's Encrypt). | ## Ce qu'il rend à la supervision | sonde | TTL | ce qu'elle voit | |---|---|---| | `frontal` | 5400 s | Le reverse proxy public tient-il, son WAF (ModSecurity + OWASP CRS) est-il vraiment dans le chemin, et chaque exposition publique repond-elle a travers lui ? Un frontal qui relaie sans filtrer reste vert ; un frontal tombe rend tout le public injoignable pendant que les services derriere restent sains. | ## Ce qu'il expose en séries *Aucun exportateur déclaré — voir `docs/metriques-conception.md`.* ## Ce qu'il coûte, et qui entre - **Empreinte** : 1 cœur(s), 512 Mo, 10 Go. - **Authentification** : `sans-auth-humaine` — Sert des fichiers statiques.