Задача.
Запроксировать запрос в зависимости от значения POST переменной при помомощи Nginx.
Нагрузка на сервер минимальная поэтому хочется обойтись одним Nginx.
Описание
На сервер server.ru приходит запрос с данными в POST url=x1.server.ru нужно запроксировать его на x1.server.ru. Если в посте url=x2.server.ru то проксируем его на x2.server.ru.
Нерабочее решениеlocation /
{
if ($request_body ~* "x1.server.ru") {
proxy_pass http://x1.server.ru;
break;
}
}
Получаем ошибку
405 Not Allowed, т.к. в Nginx запрещены POST запросы к статическим файлам.
В интернете находил решения типа: allow_static_post on; но они, к сожалению, не работают.
p.s.
Linux server.ru 3.8.0-19-generic #30-Ubuntu SMP Wed May 1 16:35:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
nginx version: nginx/1.2.6 (Ubuntu)