В 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
как массив и разделить его я в файле конфигурации.
Похоже, что это - известная ошибка в nginx: https://trac.nginx.org/nginx/ticket/1316 и https://trac.nginx.org/nginx/ticket/1762
подлинному билету более чем два года теперь, который неутешителен, поскольку это, кажется, не приоритет для devs.
единственное решение, о котором я могу думать на данный момент, состоит в том, чтобы проанализировать эти Link
, заголовки в клиенте заканчивают и комбинируют их в одного, прежде чем запрос будет выполнен.