# Pourquoi : trois environnements sur une seule IP, des URL sans port (ADR 0018). Ce frontal lit # le nom demandé dans le ClientHello (SNI) et relaie le flux TLS intact vers le proxy de la # stack visée : il ne détient aucun certificat, chaque stack garde le sien et ses en-têtes. # Piège : relayé tel quel, le flux arriverait avec l'IP du frontal, et les limitations de débit # de nginx et du backend deviendraient globales. D'où `proxy_protocol on`, reçu sur l'écouteur # 4443 de chaque stack (infra/proxy/conf.d/enervision.conf), qui y restaure l'IP du client. # Contrainte : ces ports sont ceux que `scripts/provision-host.sh` donne à PROXY_FRONT_PORT. worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } stream { log_format aiguillage '$remote_addr [$time_local] $ssl_preread_server_name ' '-> $upstream_addr $status $session_time'; access_log /var/log/nginx/access.log aiguillage; map $ssl_preread_server_name $stack { ~^rec\. 127.0.0.1:8444; ~^dev\. 127.0.0.1:9444; default 127.0.0.1:10444; } server { listen 443; ssl_preread on; proxy_pass $stack; proxy_protocol on; proxy_connect_timeout 5s; } } http { server_tokens off; access_log off; server { listen 80 default_server; server_name _; return 301 https://$host$request_uri; } }