Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have my working on default port and I want to be able to use the web interface with an URL like http://my.domain/torrents.

I tried adding a location and a proxy conf to Nginx but it fail to work fully. I guess it's because of web interface redirections.

server {
    root /data/www;
    autoindex on;

    server_name localhost;

    location / {
            try_files $uri $uri/ /index.html;

    location /torrents/ {
            proxy_pass_header  X-Transmission-Session-Id;

This conf fail because it can't reach /transmission/rpc (404 /usr/share/transmission/web/rpc) I have tried many things and I always have something missing. transmission/rpc or transmission/upload or transmission/web or transmission/javascript/whatever...

share|improve this question
up vote 1 down vote accepted

I was able to get this working just now with the following location in my config:

      location /transmission {
              proxy_pass_header X-Transmission-Session-Id;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

When I went to /transmission/, I got a 409 error saying that I had an invalid X-Transmission-Session-Id header, but when I went to /transmission/web everything seemed to be okay.

share|improve this answer
You are digging some old topics :) – Cyrbil Aug 27 '15 at 6:44
I ran into some old problems ;) – Roger Filmyer Aug 27 '15 at 22:46

Your config says that only urls which start with /torrents/ should be proxy_passed to For any other url like /transmission nginx will use the first location / and hence not proxy_pass it to the backend.

If you want every request to be proxy passed to the backend, you would need this location instead of the two you have:

location / {
        proxy_pass_header  X-Transmission-Session-Id;
share|improve this answer
Thanks for your answer, I use nginx as my web server so I don't want to forward all requests to the transmission web interface. Only those coming from /torrents/. But you point out that my basic web configuration may be one part of the problem. I will continu to investigate. – Cyrbil Feb 18 '13 at 14:11
You say you have this webinterface on /torrents, and it's linking to urls like /transmission, right? maybe the problem is just that this webinterface isn't aware of the /torrents prefix, so it generates the links wrong. so maybe the correct link would be /torrent/transmission? Then the problem is probably in the configuration of this webinterface, somewhere you would need to configure that the prefix for every url should be /torrent – mauro.stettler Feb 18 '13 at 14:17
if you want to say thanks, please upvote – mauro.stettler Feb 18 '13 at 14:18

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.