Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@Thermionix
Last active November 4, 2021 00:56
Show Gist options
  • Star 61 You must be signed in to star a gist
  • Fork 18 You must be signed in to fork a gist
  • Save Thermionix/3375989 to your computer and use it in GitHub Desktop.
Save Thermionix/3375989 to your computer and use it in GitHub Desktop.
nginx reverse proxy for sickbeard, couchpotato etc.
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/htpasswd;
proxy_connect_timeout 59s;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_buffer_size 64k;
proxy_buffers 16 32k;
proxy_pass_header Set-Cookie;
proxy_hide_header Vary;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_set_header Accept-Encoding '';
proxy_ignore_headers Cache-Control Expires;
proxy_set_header Referer $http_referer;
proxy_set_header Host $host;
proxy_set_header Cookie $http_cookie;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port '443';
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Authorization '';
proxy_redirect default;
port_in_redirect off;
location /monit {
rewrite ^/monit$ https://example.net/monit/ permanent;
rewrite ^/monit/(.*) /$1 break;
proxy_pass http://localhost:2812/;
include proxy-control.conf;
include auth-basic.conf;
}
location /sickbeard {
proxy_pass http://localhost:8081/sickbeard;
include proxy-control.conf;
include auth-basic.conf;
}
location /sabnzbd {
proxy_pass http://localhost:8080/sabnzbd;
include proxy-control.conf;
include auth-basic.conf;
}
location /couchpotato {
proxy_pass http://localhost:5050/couchpotato;
include proxy-control.conf;
include auth-basic.conf;
proxy_set_header Host localhost:5050;
}
location /headphones {
proxy_pass http://localhost:8181/headphones;
include proxy-control.conf;
include auth-basic.conf;
}
location /deluge {
proxy_pass http://127.0.0.1:8112/;
proxy_set_header X-Deluge-Base "/deluge/";
include proxy-control.conf;
include auth-basic.conf;
}
location ~ ^/nzbget($|./*) {
rewrite ^/nzbget/(.*) /$1 break;
proxy_pass http://127.0.0.1:6789;
include proxy-control.conf;
include auth-basic.conf;
}
location ~ ^/nzbget$ {
return 302 $scheme://$host$request_uri/;
}
location /syncthing/ {
proxy_pass http://127.0.0.1:41111/;
include proxy-control.conf;
include auth-basic.conf;
}
location /sonarr {
proxy_pass http://127.0.0.1:8989/sonarr;
include proxy-control.conf;
include auth-basic.conf;
proxy_set_header Host localhost:8989;
}
server {
listen 443;
include ssl.conf;
include services.conf;
}
ssl on;
ssl_certificate /etc/ssl/server.cer;
ssl_certificate_key /etc/ssl/server.key;
#ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_prefer_server_ciphers on;
@freenaszn
Copy link

How do you integrate this with the owncloud code? I've been bashing my head against this and cant get the images to come through the proxy or fpm sock

@Thermionix
Copy link
Author

Thermionix commented Sep 17, 2016

all these .conf files should be placed in /etc/nginx (or your nginx config folder)

use of site-available.conf will depend on your main nginx.conf. You may just append/replace the server section of nginx.conf with the content of site-available.conf

most of these services will require additional configuration to accept reverse proxying.

generation of htpasswd;

sudo sh -c "echo -n 'authuser:' >> /etc/nginx/htpasswd"
sudo sh -c "openssl passwd -apr1 >> /etc/nginx/htpasswd"
cat /etc/nginx/htpasswd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment