grafana: the published vhost refuses /metrics
Grafana runs with metrics.enabled and no basic_auth_*, so its Prometheus exposition was served to any anonymous client of grafana.<swarm> through the published vhost's `location "/"`. Add an exact-match `= /metrics` location returning 403 there. The loopback `grafana-metrics` vhost and the collector's scrape of it are unchanged. Comments on the metricsPort option and the loopback vhost now state that the published vhost refuses /metrics; the gateway doc says the same. A module-eval case pins the refusing location and that `/` still proxies.
This commit is contained in:
parent
eba6428b6b
commit
6c9c2cef45
4 changed files with 28 additions and 3 deletions
|
|
@ -52,7 +52,7 @@ The gateway always terminates TLS. Which certificate it serves depends on what y
|
|||
|
||||
`tls.certDir` together with `tls.acme.enable` fails an assertion — pick one.
|
||||
|
||||
⚠️ One vhost class has no TLS: a vhost bound to loopback for a local consumer. `grafana-metrics` (`nix/host-modules/swarm-grafana.nix`) is the one in the tree: it listens on `127.0.0.1` only and serves `= /metrics` from grafana's unix socket for this host's collector. Everything with a routable name follows the table above.
|
||||
⚠️ One vhost class has no TLS: a vhost bound to loopback for a local consumer. `grafana-metrics` (`nix/host-modules/swarm-grafana.nix`) is the one in the tree: it listens on `127.0.0.1` only and serves `= /metrics` from grafana's unix socket for this host's collector. The published `grafana.<swarm>` vhost answers `/metrics` with 403. Everything with a routable name follows the table above.
|
||||
|
||||
### ACME / Let's Encrypt (`tls.acme`)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue