#
# Nginx server configuration for the Nagios Plugins.
#
# See:
# /usr/share/doc/nginx-doc/examples
#
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
#
# Server definition for .
#
server {
listen 130.133.8.40:443 ssl;
listen 130.133.8.40:444 ssl;
server_name www.monitoring-plugins.org;
ssl_certificate /home/plugins/etc/ssl/monitoring-plugins.crt;
ssl_certificate_key /home/plugins/etc/ssl/monitoring-plugins.key;
root /home/plugins/web/port-$server_port;
#
# Downloads and attachments.
#
location ^~ /download/ {
if ($args = $is_args) {
# Fancy Index: Sort by modification time (descending).
rewrite ^(.*/)$ $1?C=M&O=D last;
}
root /home/plugins/web;
fancyindex on;
fancyindex_exact_size off;
fancyindex_css_href /resources/plugins.css;
fancyindex_ignore ^timestamp$;
}
location ^~ /attachments/ {
root /home/plugins/web;
}
#
# Mailman and cgit.
#
location ^~ /cgit {
root /home/git/opt/cgit/web;
}
location ^~ /archive/ {
alias /home/mailman/server/archives/public/;
}
location ^~ /list/icons/ {
alias /home/mailman/server/icons/;
}
location ~ ^/list(?:/listinfo)?/?$ {
return 301 /support.html;
}
location ~ ^/(?:list/|repositories) {
root /home/plugins/web/cgi-bin;
fastcgi_split_path_info ^(/list/[^/]+|/repositories)(.*)$;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include /etc/nginx/fastcgi_params;
gzip off; # Scripts have to complete before getting gzipped.
}
#
# Redirects etc.
#
location = /favicon.ico {
root /home/plugins/web/site/resources;
}
location = /doc/release-notes/1-5.html {
return 301 /news/release-1-5.html;
}
location = /download/snapshot/monitoring-plugins-HEAD.tar.gz {
return 301 /download/snapshot/monitoring-plugins-master.tar.gz;
}
location = /rfc/new_threshold_syntax {
return 301 /doc/new-threshold-syntax.html;
}
location = /taxonomy/term/2 {
return 301 /doc/writing-perl-plugins.html;
}
location ^~ /snapshot {
return 301 /download$request_uri;
}
location ~ ^/(?:man.*|guidelines|extra-opts)$ {
return 301 /doc$request_uri.html;
}
}
#
# Our plugins/t/check_http.t checks .
#
server {
listen 130.133.8.40:80;
server_name test.monitoring-plugins.org;
root /home/plugins/web/site;
location ~ ^/(?:index.html)?$ {
# Serve index.html.
}
location / {
return 301 https://www.monitoring-plugins.org$request_uri;
}
}
#
# Redirect HTTP and all other domains to .
# Ditto for the test instance.
#
server {
listen 130.133.8.40:80 default_server;
listen 130.133.8.40:443 default_server ssl;
ssl_certificate /home/plugins/etc/ssl/monitoring-plugins.crt;
ssl_certificate_key /home/plugins/etc/ssl/monitoring-plugins.key;
return 301 https://www.monitoring-plugins.org$request_uri;
}
server {
listen 130.133.8.40:81 default_server;
listen 130.133.8.40:444 default_server ssl;
ssl_certificate /home/plugins/etc/ssl/monitoring-plugins.crt;
ssl_certificate_key /home/plugins/etc/ssl/monitoring-plugins.key;
return 301 https://www.monitoring-plugins.org:444$request_uri;
}