nginx http proxy support for backend server health checks / status monitoring url

Ruslan Ermilov ru at nginx.com
Thu Oct 31 12:41:20 UTC 2013


On Thu, Oct 31, 2013 at 02:26:41PM +0200, Pasi Kärkkäinen wrote:
> 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: 
> 	- https://hostname-of-backend/app/
> 
> - status monitoring url is available at:
> 	- http://hostname-of-backend/foo/server_status
> 	- https://hostname-of-backend/foo/server_status
> 
> 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:
> 
> 	- http://wiki.nginx.org/HttpHealthcheckModule
> 		- https://github.com/cep21/healthcheck_nginx_upstreams
> 		- only http 1.0 support, no http 1.1 support
> 		- doesn't seem to be maintained anymore, latest version 2+ years old
> 
> 	- https://github.com/yaoweibin/nginx_upstream_check_module
> 		- 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
> 
> 
> Any suggestions? Or should I start hacking and improving the existing plugins.. 
> Thanks!

This functionality is currently available in our commercial version:
http://nginx.com/products/

The documentation is here:
http://nginx.org/en/docs/http/ngx_http_upstream_module.html#health_check



More information about the nginx mailing list