diff options
| author | Paul Buetow <paul@buetow.org> | 2026-07-26 09:39:15 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-07-26 09:39:15 +0300 |
| commit | aaa786fcea8de25be1bd2eff8bc35afd1bc7482a (patch) | |
| tree | 23eecd8caa5f69425e4e6a4624dde36f49f100dc /packages/scripts/pkg-openbsd.sh | |
| parent | 424a3cf07654a9a323cf8591c2ebf9ee177a3fdd (diff) | |
frontends: stop relayd clobbering cache headers for every f3s service
The three cache-control response rules were unscoped, so relayd rewrote every
response passing through the https relay -- not just the fallback pages the
comment described. Everything the k3s cluster serves was forced to
"no-cache, no-store, must-revalidate", overriding whatever the backend set.
cgit, for example, marks its CSS and logo "expires 30d", but browsers
re-fetched them on every page view.
relayd cannot filter a response by the backend table that produced it, and a
"header set" cannot be combined with a header match in the same rule. So match
the Server header -- the local httpd is the only backend answering
"OpenBSD httpd" -- and carry that across with a sticky tag.
Verified on blowfish before rollout with an isolated relayd instance: a
response from httpd:8080 gets the tagged headers, one from the cluster's nginx
does not. Fallback behaviour retested after deploy: c-git.f3s.buetow.org
served from httpd:8080 still returns the "Server turned off" page on any path,
with all three headers intact. cgit.css now passes through max-age=2592000.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'packages/scripts/pkg-openbsd.sh')
0 files changed, 0 insertions, 0 deletions
