feat(3189): the sso vhost serves a themed page instead of a bare 502
A dead authelia upstream almost always means "no users yet" — authelia treats an empty user store as a fatal startup error, so an enabled but unbootstrapped swarm crash-loops behind a vhost that is working perfectly. nginx's default 502 says the opposite: it points at the proxy, which is the one component that is fine. Adds `ssoUnavailable` to the shared error-page set and wires it on the authelia vhost the same way the per-agent blocks wire `__hive_agent_unreachable`: `proxy_intercept_errors on` plus an internal location serving the static page. The page leads with the bootstrap command rather than burying it under an explanation, and names the container journal as the fallback for the cases where users are not the problem. Same Catppuccin template as its siblings, so this costs no new styling.
This commit is contained in:
parent
a2ea91afe2
commit
275d502639
2 changed files with 29 additions and 0 deletions
|
|
@ -155,6 +155,17 @@ let
|
|||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Uri $request_uri;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
# A dead upstream here means "not bootstrapped" far more often
|
||||
# than "misconfigured proxy", and a bare 502 says the opposite.
|
||||
proxy_intercept_errors on;
|
||||
error_page 502 503 504 = /__hive_sso_unavailable;
|
||||
'';
|
||||
};
|
||||
locations."= /__hive_sso_unavailable" = {
|
||||
extraConfig = ''
|
||||
internal;
|
||||
alias ${errorPages.ssoUnavailable};
|
||||
default_type text/html;
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue