Nginx, как сделать балансировку?

Есть такой upstream:

upstream nodes {
    hash $request_uri;

    server node-1;
    server node-2;
}

И соответственно proxy для него:

location /api {
    proxy_pass http://nodes;
}

Сейчас балансировка идет на основании хеша из $request_uri.

Вопросы:

1) Как сделать hash на основании своего, http хедера. Например MyHeader.

2) Как сделать hash на основании части пути. Важно, чтобы это не повлияло на функциональность, я говорю о rewrite.

Например, для пути /api/CREATE_HASH_FROM_ME/users Хеш нужно взять из CREATE_HASH_FROM_ME. А из пути хеш убрать, то есть путь должен стать вида: /api/users:

Как такое выполнить?


Ответы (0 шт):