i’m trying to setup nginx to run as a proxy to aggregate multiple services. running on different ports on the server, using nginx to let me connect to all the services by going to a specific subdirectory. so i can keep only one port open in the router between my lab and the main house network.

i’m using the following config file from an example i found to do this, with a landing page to let me get to the other services:

used config file

___ server { listen 80; server_name 10.0.0.114; # Replace with your domain or IP # Redirect HTTP to HTTPS return 301 https://$host$request_uri; } server { listen 1403 ssl; # Listen on port 443 for HTTPS server_name 10.0.0.114; # Replace with your domain or IP ssl_certificate /certs/cert.pem; # Path to your SSL certificate ssl_certificate_key /certs/key.pem; # Path to your SSL certificate key location / { root /var/www/html; # Path to the directory containing your HTML file index index.html; # Default file to serve } location /transbt { #configuration for transmission proxy_pass 10.89.0.3:9091;
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;$proxy_add_x_forwarded_for; }

but the problem i’m having is that, while nginx does redirect to transmission’s login prompt just fine, after logging in it tries to redirect me to 10.0.0.114:1403/transmission/web instead of remaining in 10.0.0.114:1403/transbt and breaks the page. i’ve found a configuration file that should work, but it manually redirects each subdirectory transmission tries to use, and adds proxy_pass_header X-Transmission-Session-Id; which i’m not sure what’s accomplishing: github gist

is there a way to do it without needing to declare it explicitly for each subdirectory? especially since i need to setup other services, and i doubt i’ll find config files for those as well? it’s my first time setting up nginx, and i haven’t been able to find anything