Hello,
I’m using nginx as a http proxy / loadbalancer for an application which
which has the following setup on the backend servers:
-
https/403 provides the application at:
-
status monitoring url is available at:
So the status url is available over both http and https, and the status
url tells if the application is fully up and running or not.
Actual application is only available over https.
It’s important to decide the backend server availability based on the
status url contents/reply,
otherwise you might push traffic to a backend that isn’t fully up and
running yet,
causing false errors to end users.
So… I don’t think nginx currently provides proper status monitoring url
support for proxy backends ?
I’ve found some plugins for this, but they seem to have limitations
aswell:
-
- GitHub - cep21/healthcheck_nginx_upstreams: Health checks upstreams for nginx
- only http 1.0 support, no http 1.1 support
- doesn’t seem to be maintained anymore, latest version 2+ years old
-
GitHub - yaoweibin/nginx_upstream_check_module: Health checks upstreams for nginx
- only supports http backends, so health checks must be over http
aswell, not over https - if actual app is on 443/https, cannot configure separate port 80
for health checks over http - only “ssl” health check possible for https backends
- only supports http backends, so health checks must be over http
Any suggestions? Or should I start hacking and improving the existing
plugins…
Thanks!
– Pasi