1

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;
            proxy_pass         http://127.0.0.1:9091;
    }
}

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...

1

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

      location /transmission {
              proxy_pass http://127.0.0.1:9091;
              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.

  • 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
1

Your config says that only urls which start with /torrents/ should be proxy_passed to http://127.0.0.1:9091. 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;
        proxy_pass         http://127.0.0.1:9091;
}
  • 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 – replay Feb 18 '13 at 14:17
0

After googling and finding this post, the below is my nginx https enabled website's working proxy setup

https://gist.github.com/Kambaa/ba13b4582747b10c26c57d8438868ecf

here's the original gist

https://gist.github.com/michaelkeevildown/072b2f94af6bfa1416ee44c7004aff43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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