Comment changer le port 443 par défaut de nginx dans la config YunoHost?

Bonjour,

Ayant besoin d’utiliser le multiplexer sslh j’ai modifier le port d’écoute de nginx 443 par 4043 avec un petit sudo grep -rl '443' /etc/nginx/ | xargs sudo sed -i 's/443/4043/g'

J’ai aussi configuré le fichier /etc/default/sslh avec la config suivante :

# Default options for sslh initscript
# sourced by /etc/init.d/sslh

# binary to use: forked (sslh) or single-thread (sslh-select) version
# systemd users: don't forget to modify /lib/systemd/system/sslh.service
DAEMON=/usr/sbin/sslh

DAEMON_OPTS="--user sslh --listen 0.0.0.0:443 --ssh localhost:2002 --tls localhost:4043 --openvpn localhost:1194 --pidfile /var/run/sslh/sslh.pid"

J’ai bien relancé sslh et nginx avec

sudo yunohost service restart nginx
sudo systemctl restart sslh

Jusqu’ici tout va bien et le multiplexer sslh fonctionne correctement, je peux me connecter en ssh, https (pour les sites hébergés) et avec un client openvpn sur le même port 443 sans problème.

Ma problématique est lors de l’ajout d’un nouveau sous-domaine depuis le panel admin YunoHost. Par exemple lorsque j’ajoute le sous domaine patate.monndd.fr

Le fichier /etc/nginx/conf.d/patate.monndd.fr.conf est automatiquement créé avec un :

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name patate.monndd.fr;

    ...autres configs
}

Comment faire pour que le port par défaut soit 4043 et non 443 ?
Est que cette config est enregistrée quelque part ?

Merci de votre aide

hyyV7pnbE0FqLNBAzs

Blague animée à part, peux-tu expliquer pourquoi tu aurais besoin de cela ?

Bien que la manip ne soit absolument pas conseillée (et n’offre aucune garantie de support futur), soyons fous. Tu peux faire un sed dans /usr/share/yunohost/conf/nginx/, qui contient les modèles de fichiers de config de NGINX. Ce sont ces modèles qui sont utilisés quand tu crées un nouveau domaine (tu pourras refaire ton premier sed aussi). Attention, ces modèles sont sûrement écrasés à chaque mise à jour de YunoHost.

(à noter que substituer un port privilégié (<1025) par un port non privilégié (>1024) rend possible à un attaquant non root de subtiliser ledit port du processus de nginx pour son propre serveur web malveillant, mais bon c’est pinailler)

1 Like

A cause du grand firewall de l’Éducation National ! Sur le réseau du lycée, tous les ports sont bloqués sauf 80 et 443.

Impossible de me connecter en SSH ou en VPN à mon yunohost quand je suis au lycée. Avec le multiplexer et le SSH/VPN/HTTPS sur le même port 443 je peux ainsi me connecter à mon yunohost ça marche parfaitement.

1 Like

Je n’ai pas bien saisi le concept ? Dans mon cas, le port 443 est toujours utilisé et automatiquement redirigé en fonction du service demandé (ssh/vpn/etc…) sur un autre port interne du serveur (ces ports interne n’étant pas ouvert par le firewall).

Ta remarque m’intéresse, je suis curieux de savoir quel impacte ça peut avoir.

Merci, c’est tout bon c’était bien là ! Ça pourrait être cool de pouvoir personnaliser facilement le port comme pour domain avec un template du type {{ port }}