Re: Подменить Status code

Maxim Dounin mdounin на mdounin.ru
Пт Сен 23 16:35:13 UTC 2016


Hello!

On Fri, Sep 23, 2016 at 09:57:56AM -0400, jtiq wrote:

[...]

> никто не издевается, а просто из деревни в этих модулях, тем более в README
> ничего нет, кроме того как включить в конфиге модуль и какой параметр
> передавать.

Это ровно то, что нужно знать про сам модуль.  Больше он ничего и 
не умеет: принимает параметр со спецификацией нужных диапазонов в 
соответствии с RFC2616, и возвращает запрошенное в виде 200-го ответа.

> была бы нормальная документация, всё было бы норм, модуль частично хорош, но
> нет длины файла в байтах целиком, при Range он передаётся в заголовке через
> "/". Приходится изза этого юзать костыли, либо вовсе отказаться от данного
> модуля.

В range-_запросах_ длина ответа не передаётся.  Длина через "/" 
передаётся в заголовке Content-Range в ответах на range-запросы.  
Т.к. модуль ответов на range-запросы не шлёт - он, соответственно, 
заголовка Content-Range не отправляет, и не должен.  Он шлёт 
обычные 200-е ответы, и длины этих ответов отправляются так, как это 
положено для 200-х ответов, в заголовках Content-Length.

Если вам зачем-то ещё нужна полная длина исходного ответа - 
протаскивайте её отдельно.  В частности, если исходный ответ 
получен с бекенда, это можно сделать с помощью стандартной 
директивы add_header:

    add_header X-Original-Content-Length $upstream_http_content_length;

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

-- 
Maxim Dounin
http://nginx.org/



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