FAQ

Page Discussion Edit History

ProxyNagios

Contents

[edit] Nginx as a Proxy to Nagios

In this example it is assumed that a Nagios 2 installation runs on another (maybe virtual) box and that nginx shall sit as a reverse proxy and SSH-Endpoint between the Nagios-instance and the world. Access-Control is managed by Nagios itself and is out of scope here.

[edit] Plain Vanilla Nagios Setup

Nagios sits in its own (virtual box) integrated with apache2. The relevant parts of the apache-configuration are these :

ScriptAlias /cgi-bin/nagios2 /usr/lib/cgi-bin/nagios2
Alias /nagios2 /usr/share/nagios2/htdocs

<DirectoryMatch (/usr/share/nagios2/htdocs|/usr/lib/cgi-bin/nagios2)>
  Options FollowSymLinks
  AllowOverride AuthConfig
  Order Allow,Deny
  Allow From All
  AuthName "Nagios Access"
  AuthType Basic
  AuthUserFile /etc/nagios2/htpasswd.users
  require valid-user
</DirectoryMatch>

[edit] Nginx Rwrite Rules

server {
 #  ... a lot omitted ...
 
  location /cgi-bin/nagios2/ {
    proxy_pass  http://inagios:80/cgi-bin/nagios2/;
    proxy_redirect default;
  }
 
  location /nagios2/ {
    proxy_pass  http://inagios:80/nagios2/;
    proxy_redirect default ;
  }
 
  location /nagios/ {
    proxy_pass  http://inagios:80/nagios2/;
    proxy_redirect default ;
  }
}

[edit] Discussion

I am not too content with this solution. It works but I don't like the repetition. This bothers me because I want to provide other services too and then the ngingx.conf will become unwieldy.

So feel free to amend this example.