Maintenance page and localhost access

Emil Krüper nginx at uruz.org
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 127.0.0.1?
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
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 http://wiki.nginx.org/NginxHttpGeoModule

HTH, Emil Krüper

-- 
http://uruz.org



More information about the nginx mailing list