Adaptation config nginx pour faire tourner une instance peertube sur un port https différent de 443

Bonjour,
dans l’optique de tester la nouvelle version de peertube et sa fonctionnalité de diffusion en live, j’ai décidé d’installer une instance en provenance de la branch develop. Cette instance est accessible en https sur un port différent du 443 (40443 dans mon cas).

Lors de la configuration de ladite instance de test, j’ai utilisé le fichier de configuration nginx présent dans le répertoire support .

L’installation s’est bien passée -> j’avais bien la page d’accueil de l’instance. Par contre impossible de se connecter avec le compte root et le mot de passe qui apparait dans le log de démarrage

trace signififcative pour trouver dans la solution :

Dec 15 15:36:13 srv peertube[19564]: [peertube-dev.gcfamily.fr:40443] 2020-12-15 15:36:13.828 info: Getting client tokens for host peertube-dev.gcfamily.fr is forbidden (expected peertube-dev.gcfamily.fr:40443).

Je couche par écrit la solution afin de faire gagner du temps aux personnes qui auraient le même besoin que moi.

Il faut adapter la configuration nginx et rajouter pour chaque directive proxy_set_header Host , la variable $server_port en plus de la variable $host. Ne pas oublier de mettre le : entre les 2

root@srv:/data/www-data/peertube-dev/config# cat /etc/nginx/sites-enabled/peertube.conf | grep server_port
proxy_set_header Host $host:$server_port;
proxy_set_header Host $host:$server_port;

My 2 cents

gérald

1 Like

Quel est l’intérêt de la faire tourner sur un autre port que le 443 ?

sur mon serveur, j’ai une stack web avec Apache2 (tcp/80 et tcp/443). Je suis en train d’évaluer le travail à réaliser pour basculer mon hébergement Web sur Nginx. Peertube ne supporte officiellement que nginx.
Cette configuration sur des ports tcp différents me permet de valider, sur le même serveur, mes configs nginx sur les ports tcp40080 et tcp/40443 avant que j’opère la bascule de tous mes vhosts apache sur la nouvelle stack.
Une fois la bascule terminée, nginx écoutera évidemment sur tcp/80 et tcp/443 et apache sera arrêté.

En outre, la configuration avec proxy_set_header Host $host:$server_port; est plus « oecuménique » (elle permet de prendre en charge des configurations hétérodoxes comme les miennes)