Nastavení Nginx proxy_cache pro jednotlivé soubory

Nastavení Nginx proxy_cache pro jednotlivé soubory
« kdy: 07. 04. 2025, 16:23:18 »
mám dotaz na pokročilejší funkčnost nginx proxy_passs + proxy_cache_ funkce nginxu. Je možné definovat na endpointu parametry cachovování u jednotlivých souborů jednoduše, abych nemusel pokaždý sahat na website.conf? proxy_cache_* má nějaký základní parametry jako velikost, počet hitů...Ale  myslím, něco co bych individuálně nastavil u souboru (tedy ne na webserveru, ale na file serveru, logicky na jiných pc v jiných sítích ), nějak chytřeji než rozmístěním do různých složek.

A druhá věc, jde to pak definovat nějak obráceným způsobem, že parametry cachování by byly self-containded v query stringu requestu k souboru.... Používá se něco podobného u "dynamického resizování obrázků" z cdn- blogovacích platforem něco jako wsimages.com/image/ab/124?m=crop:640:85:jpg&hash=hmac, ale zde by to bylo pro určení toho, že soubor chci pullnout třeba vždy čerstvý (třeba dynamickýdata set) nebo že název souboru obalím parametrem, kterým říkám webserveru nginx, aby ho cachoval po dobu týdne nebo od 5 hitů + hmac proti cache poisoningu. (ano to definování na "otevřené straně requestera" má nevyřešený problém, co když se na jeden soubor sejde víc)

+ doplňující dotaz, jak to funguje, když soubor není cachován? je v reálném čase servírován klientovi a zároveň ukládán do nginx cache,. nebo se nejdřív stáhne ? co se potom v tu dobu klientovi? prázdné keepalive ?
Nebo jde nastavit tomu http response něco jako retry later ?

Ještě k tomu jsem měl doplňující otázku, na kterou jsem si teď nevzpomněl.

Kód: [Vybrat]
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=cache:10m inactive=60m;
    proxy_cache_valid any 1d;
    proxy_cache_min_uses 3;