nginx中本地请求的备用日志文件

nginx中本地请求的备用日志文件,nginx,Nginx,如果请求来自本地网络(例如192.168.x.x),如何将访问日志重定向到备用文件? 我已经找到了如何禁用基于请求者IP的日志的方法,但在我的情况下,我想将这些请求记录到另一个文件中,以便出于开发目的,我只能在该特定文件中看到我自己的日志。答案在您的参考页面中,您只需要反转1s和0s 这应该起作用: map $remote_addr $private_ip { ~^192\.168\. 1; default 0; } map $remote_addr $public

如果请求来自本地网络(例如192.168.x.x),如何将访问日志重定向到备用文件?
我已经找到了如何禁用基于请求者IP的日志的方法,但在我的情况下,我想将这些请求记录到另一个文件中,以便出于开发目的,我只能在该特定文件中看到我自己的日志。

答案在您的参考页面中,您只需要反转
1
s和
0
s

这应该起作用:

map $remote_addr $private_ip {
    ~^192\.168\.  1;
    default       0;
}
map $remote_addr $public_local {
    ~^192\.168\.  0;
    default       1;
}

server {
    ...
    # access-private.log for requests from local network
    access_log /path/to/access-private.log main if=$private_ip;

    # access.log for all other requests
    access_log /path/to/access.log main if=$public_ip;
    ...
}
有关详细信息,请参阅和

编辑:实际上,
geo
指令更适合映射
$remote\u addr

geo $private_ip {
    192.168.0.0/16  1;
    default         0;
}
geo $public_local {
    192.168.0.0/16  0;
    default         1;
}

有关详细信息,请参阅。

答案在您的参考页中,您只需反转
1
s和
0
s即可

这应该起作用:

map $remote_addr $private_ip {
    ~^192\.168\.  1;
    default       0;
}
map $remote_addr $public_local {
    ~^192\.168\.  0;
    default       1;
}

server {
    ...
    # access-private.log for requests from local network
    access_log /path/to/access-private.log main if=$private_ip;

    # access.log for all other requests
    access_log /path/to/access.log main if=$public_ip;
    ...
}
有关详细信息,请参阅和

编辑:实际上,
geo
指令更适合映射
$remote\u addr

geo $private_ip {
    192.168.0.0/16  1;
    default         0;
}
geo $public_local {
    192.168.0.0/16  0;
    default         1;
}

有关详细信息,请参阅。

很明显,0/1需要反转,问题是如何将本地网络请求的日志定向到另一个文件。我用适当的解决方案修改了您的答案这太明显了,0/1需要反转,问题是如何将本地网络请求的日志定向到另一个文件。我用适当的方法修改了你的答案