Назад | Перейти на главную страницу

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?

ОБНОВИТЬ:

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

fastcgi_param HTTP_LINK $http_link;

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

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

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

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