Search squid archive

Re: Squid issue of caching the m3u8 file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/06/17 23:54, LIU Yaning wrote:
Dear All,

I would like to cache the .m3u8 file to be able to provide offline caching service by Squid. The played HLS video streaming is the link as below: http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/0150_vod.m3u8 <http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/0150_vod.m3u8> However, the .m3u8 file is not be cached probably because it is mentioned as a no-cache, no-store, max-age=0 in the "Cache-Control" in the HTTP header.
Nope. Only the CC:no-store is preventing caching. The other headers simply put boundaries on what is to be done with the content in the cache. In particular the "no-cache", max-age=0 and Expires values mean it has to be revalidated (REFRESH in your access.log) before any future uses - probably because of that Set-Cookie needing to be changed for different end-users.

HTTP/1.1 200 OK

Server: Apache

ETag: "1d7168b4f49e75f76f3182f24bf075f6:1299516751"

Last-Modified: Mon, 07 Mar 2011 16:52:31 GMT

Expires: Fri, 02 Jun 2017 14:26:52 GMT

Cache-Control: max-age=0, no-cache, no-store

Pragma: no-cache

Date: Fri, 02 Jun 2017 14:26:52 GMT

Content-Length: 16046

Set-Cookie: AKID=77F9F1316ECCE780566608C5E514DE0A;expires=Fri, 26 Aug 2016 00:01:00 GMT; path=/; domain=qthttp.apple.com.edgesuite.net <http://qthttp.apple.com.edgesuite.net/>

Content-Type: application/x-mpegURL

Access-Control-Allow-Origin: *

I added a new rule for .m3u8 file in squid.conf, however, it is still not working.

refresh_pattern -i \.(ts|m3u8)$ 120 90% 1000 override-expire override-lastmod ignore-no-cache ignore-no-store

Does anyone know how to allow Squid caching the .m3u8 file? Thanks a lot in advance.
What makes you think it is not caching? The ignore-no-store alone should be sufficient to allow current Squid versions to cache that object. You could perhapse add "store-stale" option on that config line. Which should make Squid cache object containing an Expires header with current or past values. refresh_pattern settings do not affect that cacheable vs non-cacheable decision. The no-cache header tells Squid the object needs revalidating before every use. However, be aware the tool at redbot.org tells me that this URL is badly broken in how it is using the ETag and Vary headers - in a way which can break the revalidation when these things are cached. Some of your clients may see very broken behaviour accessing this object unless you follow the no-store requirement or the server stops its broken ETag behaviour. PS. if you are using a Squid version much older than 3.5.24 I recommend an upgrade. With an urgency increasing the older your Squid is. Amos
_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users




[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux