Behind Other Web Server


External web-server

NZBGet has a built-in web-server for web-interface purposes. To access it you type the address of computer running NZBGet and the port configured in the options:

If you already have a web-server you may want to integrate NZBGet into it:

You need a web-server with proxy capabilities to achieve this.


Example configuration:

LoadModule proxy_module modules/
LoadModule proxy_http_module modules/
<Location /nzbget>
  order deny,allow
  deny from all
  allow from all
  ProxyPass http://localhost:6789
  ProxyPassReverse http://localhost:6789

In the fist line “<Location /nzbget>” you can replace “/nzbget” with anything else and then use this string in web-address.

NOTE: when typing the URL in web-browser you must type the trailing slash “/”:

If you omit it the web-interface will not load and will hang with “Loading… please wait…” message.


Example configuration:

server {
    location ~ ^/nzbget($|./*) {
      rewrite /nzbget/(.*) /$1 break;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    location ~ ^/nzbget$ {
      return 302 $scheme://$host$request_uri/;

You can replace “nzbget” (all three occurrences) with anything you like.

Attempts to upload large nzb-files to NZBGet running behing nginx may silently fail due to packet limits set in nginx (explicitly or defaults). Check option client_max_body_size in nginx config.


Example configuration:

server.modules = (
$HTTP["url" ] =~ "nzbget" {
   proxy.server = ( "" => (( "host" => "", "port" => 6789 ) ) )

Lighttpd has limited proxy capabilities and cannot rewrite the URL. Because of this you can’t change the path “nzbget” to anything else. For example “$HTTP[“url” ] =~ “apps/nzbget” " wouldn’t work.


Example configuration (man page):

VirtualHost {
    ReverseProxy ^/nzbget/ 1