Nginx несколько заголовков ссылок в одном запросе

В Apache, если я сделаю запрос, содержащий несколько заголовков Link , он объединит их в одну запятую разделенный список.

В nginx, если я сделаю тот же запрос, все, кроме последнего, будут отброшены

Например, с помощью следующего запроса:

PUT https://example.org HTTP/1.1
Link: </some/path>; rel="parent"
Link: </another/path>; rel="child"

Используя Apache, PHP $ _ SERVER ['HTTP_LINK'] Переменная будет содержать следующее:

</some/path>; rel="parent", </another/path>; rel="child"

Однако в nginx переменная будет иметь вид:

</another/path>; rel="child"

Есть ли в конфигурации nginx переключатель, который я могу включить, чтобы имитировать поведение Apache?

ОБНОВЛЕНИЕ:

I следует добавить, что я использую PHP-FPM как fastcgi_pass. Я добавил следующее в конфигурацию nginx, которая передает первый заголовок Link вместо последнего:

fastcgi_param HTTP_LINK $http_link;

Интересно, есть ли способ получить доступ к $ http_link как массив и разделить его я в файле конфигурации.

0
задан 26 July 2019 в 12:25
1 ответ

Похоже, что это - известная ошибка в nginx: https://trac.nginx.org/nginx/ticket/1316 и https://trac.nginx.org/nginx/ticket/1762

подлинному билету более чем два года теперь, который неутешителен, поскольку это, кажется, не приоритет для devs.

единственное решение, о котором я могу думать на данный момент, состоит в том, чтобы проанализировать эти Link, заголовки в клиенте заканчивают и комбинируют их в одного, прежде чем запрос будет выполнен.

0
ответ дан 23 November 2019 в 22:37

Теги

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