On 11/20/24 3:48 PM, MOESSBAUER, Felix wrote: > I had to re-learn Apache rules again as I'm also an Nginx user. > Felt a bit like traveling 10 years into the past.
Same. :) >> I.e. we could do literally what you suggested but key it off the >> User-Agent and set the Vary header? > > Technically we can, but this significantly reduces the caching on > Fastly, as we can't encode "cache for all, except if this user-agent". > > I have no idea how to properly resolve this. If someone more familiar > with HTTP caching is reading this, please speak up. We basically own the whole stack (and Fastly allows ~arbitrary VCL). I'd be open to something like this: Fastly matches on UA and inserts a header "X-Download-Directly: yes" if the UA is apt-cacher-ng, otherwise it will send "X-Download-Directly: no". We sent a "Vary: X-Download-Directly" back. The general guidance from Fastly[1] is to narrow the Vary header content down to a few cache keys. That'd be two. I think that'd be fine, as it'd only apply to files fetched by apt-cacher-ng where the caching would then be worse. But that's better than being broken. And we could still patch apt-cacher-ng and fix it for the future - although then it'd be cool if there would be a sane way to match on the UA to identify fixed versions. Like "apt-cacher-ng/version allow-redirects". =) Kind regards and thanks for the brainstorming and keeping me honest Philipp Kern [1] https://www.fastly.com/blog/best-practices-using-vary-header
