чтобы было, как вы хотите, надо чтобы nginx сначала принял запрос полностью, извлек из тела параметр и только после этого спроксировал. на практике nginx проксирует запрос постепенно.
8 июля 2015 г., 15:53 пользователь Michael Kechinov <s...@mkechinov.ru> написал: > Добрый день. > > Есть сервер на 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 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru