выкрутились таким способом: map $http_content_length $http2_content_length { '' 0; default $http_content_length;
} и при проксировании: proxy_set_header Content-Length $http2_content_length; 20 октября 2015 г., 15:53 пользователь Илья Шипицин <chipits...@gmail.com> написал: > кажется, я ввел вас в заблуждение. > сафари действительно забывает добавить Content-Length в случае http/2, а > 411 отвечает бекенд (iis). > вопрос снимается > > 20 октября 2015 г., 15:39 пользователь Ruslan Ermilov <r...@nginx.com> > написал: > > On Tue, Oct 20, 2015 at 03:13:56PM +0500, Илья Шипицин wrote: >> > забыл уточнить - баг воспроизводится на iOS9 и Mac OS 10.11 >> > >> > 20 октября 2015 г., 15:00 пользователь Илья Шипицин < >> chipits...@gmail.com> >> > написал: >> > >> > > Добрый день! >> > > >> > > налетели на ситуацию >> > > >> > > 1) браузер сафари (без разницы - десктопный или мобильный) >> > > 2) включен http2 >> > > 3) отправляется POST с пустым телом >> > > 4) запрос проксируется с nginx на http-апстрим >> > > >> > > в результате получается, что сафари, видя, что тело пустое - не >> добавляет >> > > Content-Length, а nginx, видя, что Content-Length отсутствует - >> возвращает >> > > 411 >> > > >> > > давайте с этим что-нибудь сделаем ? >> > > >> > > стенд для воспроизведения бага: https://http2.skbkontur.ru >> > > >> > > Илья Шипицин >> >> На основании чего сделан вывод о том, что это имеет какое-либо >> отношение к HTTP/2? >> >> С обычным HTTP POST-запросом на сайте наблюдается такое же поведение: >> >> $ curl -v --data '' -H 'content-length:' http://http2.skbkontur.ru/ >> * Connected to http2.skbkontur.ru (46.17.201.207) port 80 (#0) >> > POST / HTTP/1.1 >> > Host: http2.skbkontur.ru >> > User-Agent: curl/7.43.0 >> > Accept: */* >> > Content-Type: application/x-www-form-urlencoded >> > >> < HTTP/1.1 411 Length Required >> < Server: nginx >> < Date: Tue, 20 Oct 2015 10:35:48 GMT >> < Content-Type: text/html; charset=us-ascii >> < Content-Length: 344 >> >> nginx по собственной воле никогда не возвращает 411, так что это >> скорее всего проделки вашего бэкенда. >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru@nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > >
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru