Fly.io: switch health check method to [[services.http_checks]].

More specifically, remove the dedicated HTTP datapath for health
checks and verify the entire stack, from TLS frontend to S3 backend.
Verifying too little has resulted in a small outage recently when
the pages listener got misconfigured but the health listener happily
accepted connections like normal. This would not happen now that
the health check uses port 443, too.
This commit is contained in:
Catherine
2025-09-23 02:34:55 +00:00
parent 922cc6315a
commit 4c087278cb
3 changed files with 39 additions and 28 deletions
+4 -12
View File
@@ -57,11 +57,6 @@
protocols h3
}
servers :2002 {
name health
protocols h1
}
servers :2019 {
name metrics
protocols h1
@@ -82,9 +77,10 @@
}
http:// {
# initial PUT/POST for a new domain has to happen over HTTP
@get method GET
redir @get https://{host}{uri} 301
# initial PUT/POST for a new domain has to happen over HTTP;
# health check also has to reach the backend over HTTP
@upgrade `method('GET') && !header({'Health-Check': '*'})`
redir @upgrade https://{host}{uri} 301
import backend
}
@@ -100,10 +96,6 @@ https:// {
import backend
}
http://localhost:2002 {
reverse_proxy http://localhost:3002
}
http://:2019 {
metrics
}