--- # Bloc A (ADR 0006) : partage du port 443 entre le portail et le relais TURN # (coturn, rôle turn), par nom de domaine (SNI), sans jamais déchiffrer le # TLS existant. N'ouvre aucun nouveau port dans nftables : toujours 443. - name: installer le module stream de Nginx ansible.builtin.apt: name: libnginx-mod-stream state: present when: portail_turn_actif | default(false) notify: recharger nginx - name: router le port 443 public par nom (stream Nginx) ansible.builtin.blockinfile: path: /etc/nginx/nginx.conf marker: "# {mark} ANSIBLE MANAGED BLOCK — bloc A, ADR 0006, relais TURN" insertafter: EOF block: | # Le vrai TLS (nos vhosts HTTPS, désormais sur 127.0.0.1:8443) et # coturn (127.0.0.1:{{ portail_port_turn_tls }}) se partagent le port public # 443 : ce bloc regarde seulement le nom demandé dans la poignée de # main TLS (SNI), jamais son contenu déchiffré, puis transmet les # octets tels quels (aucun des deux ne voit l'autre). stream { map $ssl_preread_server_name $syllabus_stream_backend { {{ portail_domaine_turn }} 127.0.0.1:{{ portail_port_turn_tls }}; default 127.0.0.1:8443; } server { listen 443; listen [::]:443; ssl_preread on; proxy_pass $syllabus_stream_backend; } } when: portail_turn_actif | default(false) notify: recharger nginx