Логирование обращений к конкретному url

Есть задача писать access.log для конкретной ссылки. Выделил её в отдельный локейшн — не работает.

location ^~ /blabla/ {
access_log /var/log/nginx/blabla_access.log;
root /etc/nginx/html/blabla;
try_files $uri @app;


Потом прочитал где-то, что лог пишется после всех обработчиков, значит надо писать в @app. Копипастнул @app в @app1, попробовал метод — все равно не работает.

location @app1 {
access_log /var/log/nginx/blabla_access.log;
access_log on;
limit_req zone=anticlick burst=5;
proxy_pass 127.0.0.1:8080;
proxy_buffering on;
proxy_buffer_size 256k;
proxy_buffers 16 256k;
proxy_busy_buffers_size 512k;
proxy_redirect off;
proxy_next_upstream error timeout;
proxy_temp_path /var/tmp/nginx/tmp;
proxy_set_headerHost $host;
proxy_set_headerX-Real-IP "$remote_addr";
proxy_set_headerReferer>"$http_referer";
proxy_set_headerUser-Agent "$http_user_agent";
proxy_set_headerX-Forwarded-For "$proxy_add_x_forwarded_for";
proxy_set_headerHTTP_X_FORWARDED_FOR "$proxy_add_x_forwarded_for";
proxy_intercept_errors on;
  • Вопрос задан
  • 3130 просмотров
Решения вопроса 1
bhavenger
@bhavenger Автор вопроса
Сам спросил — сам ответил.

Единственным работающим вариантом оказался вот этот:

location ^~ /blabla{
access_log /var/log/nginx/blabla_access.log;
error_log /var/log/nginx/blabla_error.log;
root /etc/nginx/html/blabla;

proxy_passhttp://127.0.0.1:8080/blabla;
proxy_buffering on;
proxy_buffer_size 256k;
proxy_buffers 16 256k;
proxy_busy_buffers_size 512k;
proxy_redirect off;
proxy_next_upstream error timeout;
proxy_temp_path /var/tmp/nginx/tmp;
proxy_set_headerHost $host;
proxy_set_headerX-Real-IP "$remote_addr";
proxy_set_headerReferer "$http_referer";
proxy_set_headerUser-Agent "$http_user_agent";
proxy_set_headerX-Forwarded-For "$proxy_add_x_forwarded_for";
proxy_set_headerHTTP_X_FORWARDED_FOR "$proxy_add_x_forwarded_for";
proxy_intercept_errors on;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы