ajoute le relais TURN sur 443 pour la visio (ADR 0006), avec coturn et le routage Nginx par nom
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
ee079ddffb
commit
45f8a69e26
19 changed files with 457 additions and 14 deletions
10
ansible/roles/turn/templates/turn-copier-certificat.sh.j2
Normal file
10
ansible/roles/turn/templates/turn-copier-certificat.sh.j2
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/bash
|
||||
# Géré par Ansible (rôle turn) — ne pas modifier à la main.
|
||||
# Copie le certificat Let's Encrypt dans un endroit lisible par coturn (sa
|
||||
# clé privée originale reste 600 root:root, hors de portée de turnserver) et
|
||||
# redémarre coturn. Lancé par Ansible (premier déploiement) et par certbot à
|
||||
# chaque renouvellement (/etc/letsencrypt/renewal-hooks/deploy/).
|
||||
set -euo pipefail
|
||||
install -o root -g turnserver -m 0640 /etc/letsencrypt/live/{{ turn_domaine_certificat }}/fullchain.pem /etc/turnserver/cert/fullchain.pem
|
||||
install -o root -g turnserver -m 0640 /etc/letsencrypt/live/{{ turn_domaine_certificat }}/privkey.pem /etc/turnserver/cert/privkey.pem
|
||||
systemctl restart coturn
|
||||
29
ansible/roles/turn/templates/turnserver.conf.j2
Normal file
29
ansible/roles/turn/templates/turnserver.conf.j2
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Géré par Ansible (rôle turn) — ne pas modifier à la main.
|
||||
# TURNS seulement (TLS), sur 127.0.0.1 : jamais exposé directement à
|
||||
# Internet. Le port public 443 y arrive par le routeur Nginx (SNI, rôle
|
||||
# portail), qui transmet les octets tels quels — coturn gère son propre TLS.
|
||||
listening-ip=127.0.0.1
|
||||
tls-listening-port={{ turn_port_tls }}
|
||||
no-udp
|
||||
no-tcp
|
||||
no-tls-v1
|
||||
no-tls-v1_1
|
||||
|
||||
# Relais vers JVB (rôle visio, réseau de l'hôte) : jamais vers l'extérieur,
|
||||
# toujours en boucle locale.
|
||||
relay-ip=127.0.0.1
|
||||
|
||||
cert=/etc/turnserver/cert/fullchain.pem
|
||||
pkey=/etc/turnserver/cert/privkey.pem
|
||||
|
||||
# Authentification par secret partagé (TURN REST API), le même que
|
||||
# TURN_CREDENTIALS côté Prosody (rôle visio) : Prosody calcule un couple
|
||||
# nom d'utilisateur/mot de passe valable 24 h pour chaque participant, sans
|
||||
# jamais donner ce secret au navigateur.
|
||||
use-auth-secret
|
||||
static-auth-secret={{ turn_secret }}
|
||||
realm={{ turn_realm }}
|
||||
|
||||
fingerprint
|
||||
no-cli
|
||||
no-multicast-peers
|
||||
Loading…
Add table
Add a link
Reference in a new issue