Nginx Access.log 状态结果根据不同的文件

Nginx Access.log 状态结果根据不同的文件

nginx 访问日志,

我想要做

状态=“200” access_log /var/log/access.log主要;

状态=“444”访问日志/var/log/access444.log主要;

状态=“401”访问日志/var/log/access401.log主要;

这能做到吗?

谢谢

server { listen 5026; 
server_name wwwww;
    if ($allowed_country = no) {
return 444; }

if ($http_user_agent ~* "mozilla" ) {return 403; }
error_page   403 500 502 503 504  /50x.html;
location = /50x.html {
root   /usr/share/nginx/html;
}

location = / {
auth_basic            "Restricted"
auth_basic_user_file  /etc/nginx/users/password;
limit_conn peruser 2;
proxy_pass         http://localhost:9025;
proxy_redirect     off;
proxy_set_header   Host             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
access_log  /var/log/access.log main;
}
}    

答案1

你可以尝试做这样的事情:

error_page 401 /401.html;
error_page 444 /444.html;

location = /401.html {
    internal;
    access_log /var/log/nginx/401.log;
}

location = /444.html {
    internal;
    access_log /var/log/nginx/444.log;
}

有关error_page的更多信息: http://nginx.org/en/docs/http/ngx_http_core_module.html#error_page

相关内容