On Tue, Dec 22, 2020 at 06:17:13PM +0500, Илья Шипицин wrote:
грубо - сделать все то же самое, что было бы без "return 421" + залогировать
попытку вернуть.
классический dry run

Возможно, вам подойдет дополнительный access_log по условию:
---
map $host $condition {
    default         1;
    some_condition  0;
}
...
location / {
   proxy_pass http://upstream;

   access_log /var/log/my.log;
   access_log /var/log/conditional.log if=$condition;
}
---

error_page 421  = @handler_421;

location / {
   if ($some_condition != $host) { return 421; }

   proxy_pass http://upstream;

   access_log /var/log/my.log;
}

location @handler_421 {
   proxy_pass http://upstream;

   access_log /var/log/my.log;
   access_log /var/log/additional.log special_format;
}



On Tue, Dec 22, 2020, 5:32 PM Evgeniy Berdnikov <b...@protva.ru> wrote:

   On Tue, Dec 22, 2020 at 04:52:36PM +0500, Илья Шипицин wrote:
   >    привет!
   >    рассматриваем вариант
   >    if ($some_condition != $host) { return 421; }
   >    вопрос - как можно по дешевому в этом месте сделать "логирование
   вместо
   >    return" ?

    return 302 <logger-url>
    ?

    Вообще, что значит "вместо"? Какой-то ответ на запрос должен быть.
    Логгирование это не ответ, а этап обработки запроса.
   --
    Eugene Berdnikov
   _______________________________________________
   nginx-ru mailing list
   nginx-ru@nginx.org
   http://mailman.nginx.org/mailman/listinfo/nginx-ru


_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru


--
Cheers,
Oleg A. Mamontov

mailto: o...@mamontov.net

skype:  lonerr11
cell:   +7 (903) 798-1352
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить