Re: replace headers - как?
Maxim Dounin
mdounin на mdounin.ru
Ср Авг 23 14:30:46 UTC 2017
Hello!
On Wed, Aug 23, 2017 at 02:31:36AM -0400, 1a2bb2cc wrote:
> Привет!
> Пытаюсь реализовать пункт 4.2 https://tools.ietf.org/html/rfc2817#section-4
> , т.е. добиться вот такого ответа:
>
> 1. HTTP/1.1 426 Upgrade Required
> 2. Server: nginx
> 3. Date: Wed, 23 Aug 2017 06:05:03 GMT
> 4. Content-Type: application/octet-stream
> 5. Content-Length: 16
> 6. Connection: Upgrade
> 7. Upgrade: TLS/1.0, HTTP/1.1
В любом случае nginx не поддерживает RFC 2817, так что не совсем
понятно, для чего это всё. Даже если вы сможете послать
соответствующий ответ (что потребует модификаций в коде) - никто
не обработает последующий upgrade соединения до SSL/TLS.
Какова цель?
[...]
> В первой строке отсутствует описание "Upgrade Required" - как сделать чтобы
> описание добавлялось?
Нужно добавлять соответствующий код ответа в
src/http/ngx_http_header_filter_module.c. Это, впрочем, не
обязательно - текст ошибки не важен с точки зрения протокола HTTP.
> В шестой строке присутствует ненужный "Connection: keep-alive" - как сделать
> чтобы заголовок Connection перезаписывался, а не суммировался?
Это опять же потребует модификаций кода, в том же файле. Но опять
же не важно, с точки зрения протокола HTTP - в заголовке Connection
перечисляются заголовки, которые не надо отправлять дальше, и там
вполне можно (а иногда и нужно) перечислять более одного
заголовка.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru