37 lines
1.5 KiB
YAML
37 lines
1.5 KiB
YAML
---
|
|
# 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
|