Making new server parameter inside upstream block

Maxim Dounin mdounin at mdounin.ru
Thu Feb 12 13:36:42 UTC 2015


Hello!

On Wed, Feb 11, 2015 at 09:40:12PM +0300, Дмитрий Шалашов wrote:

> Hi!
> 
> As far as I see Nginx have limited number of possible server parameters
> inside upstream block. It is enforced by function ngx_http_upstream_server for
> example.
> Now, having my own upstream module how can I approach the task of adding a
> couple more parameters to a servers inside it?

You can't.  Parameters of the "server" directive are not currently 
extendable.

> I would like to find a solution without resorting to patch Nginx source
> code, resilient to Nginx updates (self-contained, in other words) and
> having that -- as simple as possible.
> 
> I have to confess that this module is the only piece of C code I've ever
> wrote, and I was "taking inspiration" from other modules :-)
> My best guess so far is overriding ngx_http_upstream_server (googling shows
> it's likely possible) with my own function which will find my new
> parameters, remove them from cf->conf and then call original function.

While this approach may work, it will likely result in big 
problems in the future.

-- 
Maxim Dounin
http://nginx.org/



More information about the nginx-devel mailing list