Assuming that transmission is configured to listen on 127.0.0.1
and port 9091
, the reverse proxy configuration for transmission is the following:
location /transmission { proxy_pass http://127.0.0.1:9091; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_pass_header X-Transmission-Session-Id; }
where the /transmission
URL will redirect to the transmission daemon web interface. Note that passing X-Transmission-Session-Id
is the most essential part of the reverse proxy configuration.
Bazarr is a subtitle service and the nginx reverse proxy configuration is the following:
location /bazarr/ { proxy_pass http://127.0.0.1:6767/bazarr/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; proxy_buffering off; }
assuming that bazarr runs on port 6767
and listens on 127.0.0.1
for connections.
All these services can be configured using the following straight-forward template:
location / { # Enable either one of these for each location stanza # Plex proxy_pass http://127.0.0.1:32400/; # Jellyfin proxy_pass http://127.0.0.1:8096; # Sonarr proxy_pass http://127.0.0.1:8989; # Radarr proxy_pass http://127.0.0.1:7878; # Lidarr proxy_pass http://127.0.0.1:8686; # Jackett proxy_pass http://127.0.0.1:9117; # Mylarr proxy_pass http://127.0.0.1:8090; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; proxy_buffering off; }
The location
stanza must be duplicated for each service in part and then one of each proxy_pass
directives corresponding to the service must be enabled.
Assuming that nut is installed along with the corresponding CGI package (nut-cgi
on Debian), the following configuration will enable a virtual host named nut.lan
that will grant access to the nut CGI script:
server { listen 80; server_name nut.lan; location / { alias /usr/share/nut/www/; try_files $uri $uri/ /index.html; } location /cgi-bin/ { gzip off; root /usr/lib; include fastcgi_params; fastcgi_pass unix:/var/run/fcgiwrap.socket; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }