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?
Use the $remote_addr variable to check against the local IP address, if
the
visitor isn’t local, then send a 503 maintenance page. The 503 code is
important so search engines wont mark the website as dead.
Ian M. Evans wrote:
Should I just create a new server block listening on another port and
deny all, allow 127.0.0.1?
nginx mailing list
[email protected]
nginx Info Page
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