Добрый день.

Есть сервер на NGINX. У него за бэкендом находятся несколько шардов.
Запросы к NGINX приходят с переменной *code*. В переменной хранится строка
случайных символов.

Есть файл с таблицей типа:
1e3c37d24147296e4993029da7ad0b 0;
56c0334642d423e642f163e06f985f 0;
e0252dffdc9bb45183340209c53efa 0;
0f89f5209b84486787797f42bb3939 1;
ced412f1c43cda14c8bdfedb353cd5 1;

Слева *code*, справа значение переменной, которое я хочу устанавливать в
соответствии с кодом.

Прописано это все вот так:
http {
    ...
    map_hash_max_size 8192;
    map $arg_code $api_shard {
        include /home/user/nginx_mapping.conf;
    }
    ...
}

Когда я выполняю GET-запросы, переменная устанавливается и все хорошо.
Когда я выполняю POST-запросы, переменная не устанавливается, т.к. в GET не
пришел аргумент *code*.
Как можно получить доступ к аргументу в POST запросе, чтобы выставить
нужную переменную?
Заставить все проекты прописать в адрес ко всем POST-запросам аргумент
?code=xyz будет несколько проблематично.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить