Nginx log_format игнорируется

Мне нужна небольшая помощь с функцией log_format в Nginx. Я использую операторы if (да, если это зло, я знаю), чтобы выбрать пул восходящего потока на основе значений аргументов, и что-то работает неправильно. Мне действительно нужно регистрировать, какой вышестоящий сервер используется - черт возьми, если бы я мог регистрировать переменную $ pool, это тоже было бы здорово.

Независимо от того, что я пробую или куда я помещаю log_format, он все равно регистрирует значение по умолчанию «комбинированный» формат. Я просмотрел все файлы конфигурации, которые включены в запуск nginx, а log_format определен только в одном месте.

Есть идеи? Вот соответствующие части моих конфигураций:

nginx.conf / http context:

   log_format auditing '$remote_addr - $remote_user [$time_local] '
                ' "$host" "$request" $status $body_bytes_sent '
                '"$http_referer" "$http_user_agent" $proxy_host '
                ' $upstream_addr $http_soapaction';

    map $request $loggable
    {
            ~*app_ping\.d911 0;
            default 1;
    }


    access_log /var/log/nginx/access.log auditing; #combined if=$loggable
    error_log /var/log/nginx/error.log debug;

sites-enabled / site-specific / server context:

    access_log /var/log/nginx/producttest.log auditing;

set $pool "def-pool-443";    ### Set the default pool (will be TAS pool in prod)

            ### Modify target pool depending on criteria match
            if ($args ~* 'device_type=bot')
                    {
                    set $pool "bot-pool-443";
                    }
    ...

    location /
            {
            access_log /var/log/nginx/productest-location.log auditing;
            proxy_pass https://$pool;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_next_upstream error timeout invalid_header http_500;
    proxy_connect_timeout 2;
            }
1
задан 12 July 2019 в 18:10
1 ответ

Хорошо, после нескольких дней биться головой об стену я ответил на свой вопрос, форматируя его для публикации.

Я следил за онлайн-примером того, как отформатировать log_format и Оказывается, ему не нравились одиночные отметки, используемые для переноса строки. Я вынул их и поместил все в одну строчку и готово.

В любом случае, надеюсь, это поможет кому-то еще, кто последовал тому же примеру.

0
ответ дан 4 December 2019 в 02:51

Теги

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