your mail
Maxim Dounin
mdounin на mdounin.ru
Чт Мар 31 13:40:10 UTC 2016
Hello!
On Thu, Mar 31, 2016 at 01:05:13PM +0300, Vasil Mikhalenya wrote:
> Коллеги, подскажите почему nginx может иногда отдавать 200 OK и 0 байт в
> ответе,
> случается для HIT, MISS, EXPIRED
>
> du -mk /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d
> 388 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d
>
> head -n 10 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d
> D V0 V4 Va "33fcea30-60630"
> KEY: http://x/hls/480p/1459415596925.ts
> HTTP/1.1 200 OK
> Server: nginx/1.8.0
> Date: Thu, 31 Mar 2016 09:13:24 GMT
> Content-Type: video/mp2t
> Content-Length: 394800
> Connection: close
> Last-Modified: Thu, 31 Mar 2016 09:13:20 GMT
> ETag: "33fcea30-60630"
>
> 2.61.162.132 - - [31/Mar/2016:09:13:37 +0000] "GET
> /hls/480p/1459415596925.ts HTTP/1.1" 200 0 "x" "Mozilla/5.0 (Windows NT
> 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0
> Safari/537.36 Edge/13.10586" "-" 0.000 - - - HIT 394800
>
> где log_format combined_extra '$remote_addr - $remote_user [$time_local] '
>
> '"$request" $status $body_bytes_sent '
>
> '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" $request_time
> $upstream_header_time $upstream_response_time $upstream_response_length
> $upstream_cache_status $upstream_http_content_length';
В $body_bytes_sent - количество байт, реально отправленное
клиенту. Если клиент успел закрыть соединение до того, как nginx
совершил первую попытку отправить что-то в ответ - там будет 0.
При этом код ответа будет указан 200, если nginx успел
сформировать заголовок ответа до того, как узнал, что клиент
закрыл соединение.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru