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