Re: Работа с кастомными дублирующимися HTTP-заголовками запроса

Александр Попков voodoo_alex на mail.ru
Пн Ноя 16 13:58:41 UTC 2015


 Добрый вечер!

До сих пор не нашли решение.

В целом задача такова:

Для клиентов, чьи запросы пришли с определенных подсетей (разрешенных) - все пришедшие в запросе заголовки с названием X-Custom-Header (или все, или последний из пришедших) передать дальше в proxy_pass запросе.

Для остальных (запрещенных) - не передавать дальше в proxy_pass заголовки с таким названием.

proxy_set_header недопустим в контексте if, а все другие варианты требуют замены содержимого заголовка на $http_x_custom_header, где хранится только значение из первого заголовка.

---
С Уважением, Александр

>Четверг, 12 ноября 2015, 20:06 +03:00 от Александр Попков <voodoo_alex at mail.ru>:
>
>Здравствуйте!
>
>Как ни странно не смог нагуглить ничего по этому вопросу.
>
>Есть клиент, который шлет в HTTP-запросе кастомный заголовок, иногда дублирующийся.
>
>Например
>
>X-Custom-Header: value1
>X-Custom-Header: value2
>
>Нам в конфиге nginx нужно получить значение этого заголовка, для чего мы используем переменную $http_x_custom_header.
>В случае дублирования заголовков в эту переменную попадает только первое значение.
>Конкретно в примере выше - переменная $http_x_custom_header будет равна "value1".
>
>Не нашли никаких настроек этого поведения.
>Есть ли штатные способы получить на уровне конфига nginx второе (на самом деле последнее) значение?
>
>Если это важно:
> - версия nginx 1.8.0
> - значение последнего заголовка с таким названием нужно дальше использовать в таком блоке:
>    map $is_case_success $fixed_custom_header {
>        0 "";
>        1 $http_x_custom_header; # хотим тут "value2" а не "value1"
>    }
>
>Заранее большое спасибо за помощь!
>
>-- 
>С Уважением, Александр.
>_______________________________________________
>nginx-ru mailing list
>nginx-ru at nginx.org
>http://mailman.nginx.org/mailman/listinfo/nginx-ru

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20151116/34352d26/attachment.html>


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