Faire tourner HTTPS et SSH sur le même port avec NGINX

Windows, Mac OS, Linux, Unix,...
Répondre
Avatar du membre

Auteur du sujet
Mackguil
Modérateur globaux
Modérateur globaux
Messages : 4889
Enregistré le : 31 oct. 2017, 18:35

Faire tourner HTTPS et SSH sur le même port avec NGINX

Message par Mackguil » 04 févr. 2019, 21:23

Depuis la version 1.15.2, NGINX a ajouté une fonctionnalité qui permet de faire une disctinction entre un flux HTTPS et un autre flux TCP arrivant sur un même port. Ça permet par exemple de faire tourner en même temps sur le port 443 un service Web en HTTPS et un service VPN ou SSH. Et ainsi passer outre certains pare-feux restrictif qui ne laissent pas passer certains flux (Git, SSH, DNS personnalisé).

Pour ce faire, NGINX grâce au module stream_ssl_preread inspecte le ClientHello d’une connexion TLS et remplit certaines variables avec les éléments qu’il y trouve ou non, dont la variable $ssl_preread_protocol qui nous intéresse. Si il s’agit d’un flux HTTPS, la variable va prendre la valeur de la version TLS utilisée, sinon elle restera vide. En fonction de sa valeur on pourra donc rediriger le flux vers le service Web ou autre.
Source: https://blog.karolak.fr/post/2019-02-04-nginx-tls-ssh/

Avatar du membre

Unix-Linux
Habitué
Habitué
Messages : 162
Enregistré le : 10 nov. 2017, 21:50
Contact :

Re: Faire tourner HTTPS et SSH sur le même port avec NGINX

Message par Unix-Linux » 04 févr. 2019, 21:43

"Look after the pennies and the pounds will look after themselves"
"Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide" (Confucius)

Répondre