Turning off access_logs for Load Balancer TCP port checks
Maxim Dounin
mdounin at mdounin.ru
Mon Feb 22 14:44:33 MSK 2010
Hello!
On Mon, Feb 22, 2010 at 06:55:17PM +0900, Zev Blut wrote:
> We have load balancers that are doing port checks on our NGINX servers.
> Each of these checks creates an entry in our log file like this:
>
> 10.0.0.58 - - [22/Feb/2010:18:50:21 +0900] "-" 400 0 "-" "-" 0.000
> "-" "-" "-" [-] - - - [-] [-]
>
> Does anyone have an idea of how I can stop logging these requests?
The only option you have is to turn off logging for the default
server on the port in question (and turn it on again for
individual locations if desired). Try something like this:
server {
listen 80 default;
access_log off;
location / {
access_log /path/to/log;
...
}
}
Such "requests" doesn't pass normal request processing pipeline as
they aren't really requests and even connection to client is
already closed. They are logged in configuration context which
happens to be here - default server's one.
> I have tried
>
> location / {
> if ($remote_addr ~* 10\.0\.0.\.i.+) {
> access_log off;
> }
> }
>
> But this does not work. I have also tried putting the if and
> access_log check in the http directive. But access_log commands are
> not allowed there. So we might want to update the context docs
> here.
> http://wiki.nginx.org/NginxHttpLogModule
It's "if" which isn't allowed at http level, not access_log.
Maxim Dounin
More information about the nginx
mailing list