Modèle de server block Nginx pour Transmission bittorrent

Je crois que je vais me lancer dans la photographie...

Chose promise chose due ! Comme je suis en train de passer tous les services web du serveur à Nginx je vous avais dit que je partagerai mes fichiers de configuration. Récemment j’ai migré l’interface web de Transmission alors voilà à quoi cela ressemble chez moi !

Transmission WebUI, Nginx et HTTPS

Je cherche à accéder à ma seedbox à l’adresse https://torrent.mon-domaine.com/web/.

Configuration de transmission

Il y a une petite ligne à adapter dans le fichier /etc/transmission-daemon/settings.json :

"rpc-url": "/"

Vous pouvez aussi utiliser le mécanisme d’authentification proposé par Transmission :

"rpc-password": "Motdepasse",
"rpc-username": "transmission"

Rechargez transmission :

sudo service transmission-daemon reload

Configuration du server block Nginx

On commence par la partie qui écoute sur le port 80 (HTTP). On va forcer la redirection du trafic vers HTTPS pour plus de sécurité. Ma configuration est dans /etc/nginx/sites-available/transmission

server {
        listen  80;
        server_name torrent.mon-domaine.com;
        return 302 https://torrent.mon-domaine.com$request_uri;
}

À partir de là, tout est redirigé vers HTTPS, il nous faut donc un server block adéquat :

server {
        listen 443 ssl;
        server_name torrent.mon-domaine.com;
 
        access_log off;
        error_log /var/log/nginx/torrent.mon-domaine.com-error.log;
 
        ssl_certificate /etc/nginx/certificates/torrent.mon-domaine.com.cert;
        ssl_certificate_key /etc/nginx/certificates/torrent.mon-domaine.com.key;
 
        location /web/ {
                proxy_pass http://127.0.0.1:9091/web/;
                proxy_set_header Connection "";
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass_header X-Transmission-Session-Id;
        }
        location /rpc {
                proxy_pass http://127.0.0.1:9091/rpc;
                proxy_set_header Connection "";
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass_header X-Transmission-Session-Id;
        }
}

Je suppose que vous connaissez déjà le principe d’une infrastructure à clé publique. Sinon, pour la génération du certificat et de la clé je vous renvoie vers ces deux articles :

Une fois votre server block enregistré, créez un lien dans /etc/nginx/sites-enabled et rechargez Nginx :

sudo ln -vs /etc/nginx/sites-available/transmission /etc/nginx/sites-enabled/transmission
sudo service nginx reload

Accédez à votre Seedbox à l’adresse http://torrent.mon-domaine.com. Vous êtes redirigé vers la version HTTPS et vous pouvez maintenant gérer votre Seedbox. Si vous cherchez plus d’information sur l’installation de celle-ci, c’est facile.

😉

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email