Maintenance page and localhost access

Emil Krüper nginx at
Fri May 28 22:40:30 MSD 2010

Ian M. Evans wrote:
> As I prepare to test some changes related to the "0day exploit" 
> thread, I thought I'd set up a maintenance page block so I could do 
> the testing.
> Just realized though that the maintenance block examples take the site 
> down for everyone.
> How do you serve the maintenance page to visitors will still allowing 
> localhost access.
> Should I just create a new server block listening on another port and 
> deny all, allow
> _______________________________________________
> nginx mailing list
> nginx at
You could just do it like this in the global section:

    geo $maintenance {
                default 0;
                80.15x.yy.zz/29 0;        # your IPs still allowed
                80.15x.yy.zz/29 0;        # another bunch of allowed IPs

and in the server section add this:

    if ($maintenance) {
       rewrite ^(.*)$ /yourmaintenancefile.html last;

When you want to start maintenance just switch the "default 0;" to 
"default 1;" in the $maintenance block and reload your nginx.

Have a look at

HTH, Emil Krüper


More information about the nginx mailing list