NginxProxyNagios
Contents |
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.
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>
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 ; } }
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.












