обработка set_real_ip_from для 400-х статусов

Илья Шипицин chipitsine на gmail.com
Пт Июн 14 17:12:25 UTC 2019


привет!

стенд:

nginx-1.17.0 из официального репо.
конфиг

user  root;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  custom  '$remote_addr\t$http_x_real_ip\t$status\t$uri';
    set_real_ip_from   127.0.0.1;

    access_log  /var/log/nginx/access.log  custom;

server {
    listen       80;
    server_name  localhost;
    location / { return 200; }
}

server {
    listen       80;
    server_name  _;
    location / { return 200; }
}

}


=========================
делаю два запроса

curl --header "X-Real-IP: 8.9.10.11" -vvvv -I  -k http://localhost/test
curl --header "X-Real-IP: 8.9.10.11" -vvvv -I  -k http://localhost/%%%%%

получаю

# cat /var/log/nginx/access.log
8.9.10.11 8.9.10.11 200 /test
127.0.0.1 - 400


почему магия с форматом лога и хедерами работает на 200-х статусах и не
работает на 400-х ? это такая задумка ? выглядит как баг.

Илья Шипицин
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20190614/102fc41f/attachment.html>


Подробная информация о списке рассылки nginx-ru