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

Hello,

I’m using nginx as a http proxy / loadbalancer for an application which
which has the following setup on the backend servers:

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:

Any suggestions? Or should I start hacking and improving the existing
plugins…
Thanks!

– Pasi

On Thu, Oct 31, 2013 at 02:26:41PM +0200, Pasi K. wrote:

Any suggestions? Or should I start hacking and improving the existing plugins…
Thanks!

This functionality is currently available in our commercial version:

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

HPPS health check is difficult for the check module, I have added an
alternative feature for this request. The ‘port’ option can be
specifed with different port from the server’s original port. For
example:

server {
server 192.168.1.1:443;

 check interval=3000 rise=1 fall=3 timeout=2000 type=http port=80;
 check_http_send "GET / HTTP/1.0\r\n\r\n";
 check_http_expect_alive http_2xx http_3xx;

}

This feature has been exeisted in the develop branch for upstream
check module:
(GitHub - yaoweibin/nginx_upstream_check_module at development)
Or tengine: ngx_http_upstream_check_module - The Tengine Web Server

2013/10/31 Ruslan E. [email protected]:

  - http://hostname-of-backend/foo/server_status

          - only "ssl" health check possible for https backends

nginx mailing list
[email protected]
nginx Info Page


Weibin Y.
Developer @ Server Platform Team of Taobao

On Fri, Nov 01, 2013 at 01:58:52PM +0800, Weibin Y. wrote:

 check_http_expect_alive http_2xx http_3xx;

}

This feature has been exeisted in the develop branch for upstream
check module:
(GitHub - yaoweibin/nginx_upstream_check_module at development)
Or tengine: ngx_http_upstream_check_module - The Tengine Web Server

Great! Exactly what I need…

I’ll test it soon.

– Pasi