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