<div dir="ltr">Еще интересно, что со сменой контент тайпа, меняются и другие заголовки:<div>[vtolstov@ ~]$ curl -I <a href="http://st.interneturok.com/video/geografy/8_klass/0004111.270.mp4">http://st.interneturok.com/video/geografy/8_klass/0004111.270.mp4</a><br><div><div>HTTP/1.1 200 OK</div><div>Server: nginx</div><div>Date: Fri, 27 Jan 2017 11:19:27 GMT</div><div>Content-Type: video/mp4                                                                                                                                </div><div>Content-Length: 16876286</div><div>Connection: keep-alive</div><div>Accept-Ranges: bytes</div><div>Last-Modified: Tue, 19 Feb 2013 15:17:34 GMT</div><div>Etag: e95423b912c5e5c6df42fda06109f49b</div><div>X-Timestamp: 1361287053.62919</div><div>X-Trans-Id: txaf83198e2eb94a9fa148a-00588b2cbf</div><div><br></div><div>[vtolstov@ ~]$ curl -I <a href="http://st.interneturok.com/video/geografy/8_klass/0004111.270.mp4">http://st.interneturok.com/video/geografy/8_klass/0004111.270.mp4</a></div><div>HTTP/1.1 200 OK</div><div>Server: nginx</div><div>Date: Fri, 27 Jan 2017 11:21:13 GMT</div><div>Content-Type: text/plain</div><div>Content-Length: 16876286</div><div>Last-Modified: Tue, 19 Feb 2013 15:17:34 GMT</div><div>Connection: keep-alive</div><div>ETag: "5123978e-10182fe"</div><div>Accept-Ranges: bytes</div></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-01-27 3:06 GMT+03:00 Vasiliy Tolstov <span dir="ltr"><<a href="mailto:v.tolstov@selfip.ru" target="_blank">v.tolstov@selfip.ru</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Всем доброй ночи.<br><br>Заметил странную вещь, nginx 1.9.10-1~bpo8+4 (пакет nginx-extras, знаю сейчас будут лететь тухлые яйца, что надо пробовать чистый nginx).<br>Nginx используется как кеширующий фронтент для swift. При первом запросе видео файла он берется с бекенда и отдается с Content-Type: video/mp4, но как только он попадает в кеш, периодически он отдается с Content-Type: text/plain. При этом его длина верная и на диске файл лежит в нормальном виде (как видео).<br><br>Настройки для прокси:<br>        proxy_connect_timeout 30s;<br>        proxy_cache            d0;<br>        proxy_cache_valid      200 201 204 24h;<br>        proxy_cache_valid      301 302 304 24h;<br>        proxy_cache_valid      404 30m;                                                                                   proxy_cache_valid      401 403 5m;<div>        proxy_cache_valid      any 5m;   <div>        proxy_cache_key        $uri$is_args$args;<br>        proxy_cache_methods    GET;<br>        proxy_cache_bypass     $http_x_direct;<br>        proxy_no_cache         $http_x_auth_token;<br>        proxy_ignore_headers   "Cache-Control" "Expires" "Set-Cookie";<br>        proxy_ignore_client_abort on;<br>        proxy_pass             <a href="http://backend" target="_blank">http://backend</a>;<br><br><br><br>debug log:</div><div><div>2017/01/27 02:59:42 [debug] 5034#5034: *307298342 event timer del: 103: 1485475257937</div><div>2017/01/27 02:59:42 [debug] 5034#5034: *307298342 reusable connection: 0</div><div>2017/01/27 02:59:42 [debug] 5034#5034: *307298342 free: 00007F4FD4C01FD0, unused: 2704</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http header: "Host: <a href="http://st.interneturok.com" target="_blank">st.interneturok.com</a>"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http header: "User-Agent: curl/7.51.0"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http header: "Accept: */*"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http header done</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 event timer del: 84: 1485475243753</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 generic phase: 0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 rewrite phase: 1</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 posix_memalign: 00007F4FDAE14E90:4096 @16</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http script value: "CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http script set $cs_acct</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 test location: "/"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 test location: ~ "\.(mp4|m4v|m4a)$"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 using configuration "\.(mp4|m4v|m4a)$"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http cl:-1 max:5368709120</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 rewrite phase: 3</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 rewrite phase: 4</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http script regex: "^(.*)$"</div><div>2017/01/27 02:59:43 [notice] 5049#5049: *307298554 "^(.*)$" matches "/video/geografy/8_klass/<wbr>0004111.270.mp4", client: 92.255.100.1, server: <a href="http://st.interneturok.com" target="_blank">st.interneturok.com</a>, request: "HEAD /video/geografy/8_klass/<wbr>0004111.270.mp4 HTTP/1.1", host: "<a href="http://st.interneturok.com" target="_blank">st.interneturok.com</a>"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http script copy: "/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http script capture: "/video/geografy/8_klass/<wbr>0004111.270.mp4"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http script regex end</div><div>2017/01/27 02:59:43 [notice] 5049#5049: *307298554 rewritten data: "/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4", args: "", client: 92.255.100.1, server: <a href="http://st.interneturok.com" target="_blank">st.interneturok.com</a>, request: "HEAD /video/geografy/8_klass/<wbr>0004111.270.mp4 HTTP/1.1", host: "<a href="http://st.interneturok.com" target="_blank">st.interneturok.com</a>"</div><div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 rewrite phase: 5</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 headers more rewrite handler, uri "/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 post rewrite phase: 6</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 generic phase: 7</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 generic phase: 8</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 generic phase: 9</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 access phase: 10</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 access phase: 11</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 access phase: 12</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 access phase: 13</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 post access phase: 14</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 try files phase: 15</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http script var: "/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 trying to use file: "/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4" "/srv/d1/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 try file uri: "/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http set discard body</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http mp4 filename: "/srv/d1/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 add cleanup: 00007F4FDAE151A0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 lua header filter for user lua code, uri "/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4"</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 uploadprogress error-tracker error: 0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 xslt filter header</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 HTTP/1.1 200 OK</div></div><div><div>Server: nginx</div><div>Date: Thu, 26 Jan 2017 23:59:43 GMT</div><div>Content-Type: text/plain</div><div>Content-Length: 16876286</div><div>Last-Modified: Tue, 19 Feb 2013 15:17:34 GMT</div><div>Connection: keep-alive</div><div>ETag: "5123978e-10182fe"</div><div>Accept-Ranges: bytes</div><div><br></div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 write new buf t:1 f:0 00007F4FDAE15378, pos 00007F4FDAE15378, size: 241 file: 0, size: 0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http write filter: l:1 f:0 s:241</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http write filter limit 0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 writev: 241 of 241</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http write filter 0000000000000000</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http finalize request: 0, "/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4?" a:1, c:1</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 set http keepalive handler</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http close request</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http log handler</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 run cleanup: 00007F4FDAE151A0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 file cleanup: fd:87</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 free: 00007F4FDB64E2F0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 free: 00007F4FD1AD83D0, unused: 0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 free: 00007F4FDAE14E90, unused: 2183</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 hc free: 0000000000000000 0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 hc busy: 0000000000000000 0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 tcp_nodelay</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 reusable connection: 1</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 event timer add: 84: 75000:1485475258753</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 post event 00007F4FCE6EC7F0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 delete posted event 00007F4FCE6EC7F0</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http keepalive handler</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 recv: fd:84 -1 of 1024</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 recv() not ready (11: Resource temporarily unavailable)</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 http keepalive handler</div><div>2017/01/27 02:59:43 [debug] 5049#5049: *307298554 recv: fd:84 0 of 1024</div><div>2017/01/27 02:59:43 [info] 5049#5049: *307298554 client 92.255.100.1 closed keepalive connection</div></div><div><br></div><div><br></div><div>При этом файл:</div><div><div>stat /srv/d1/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4</div><div>  File: ‘/srv/d1/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4’</div><div>  Size: 16876286        Blocks: 33000      IO Block: 4096   regular file</div><div>Device: 6810h/26640d    Inode: 383         Links: 1</div><div>Access: (0600/-rw-------)  Uid: (   33/www-data)   Gid: (   33/www-data)</div><div>Access: 2017-01-27 02:45:18.000000000 +0300</div><div>Modify: 2013-02-19 19:17:34.000000000 +0400</div><div>Change: 2017-01-27 02:45:17.000000000 +0300</div><div> Birth: -</div><div>file /srv/d1/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4</div><div>/srv/d1/v1/CLODO_<wbr>bef7b28b3d918e432ae6a6e45fc84b<wbr>06/public/video/geografy/8_<wbr>klass/0004111.270.mp4: ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]</div></div><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br>Vasiliy Tolstov,<br>e-mail: <a href="mailto:v.tolstov@selfip.ru" target="_blank">v.tolstov@selfip.ru</a></font></span></div></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Vasiliy Tolstov,<br>e-mail: <a href="mailto:v.tolstov@selfip.ru" target="_blank">v.tolstov@selfip.ru</a></div>
</div>