Как nginx'ом перенаправлять запрос, в зависимости от содержания JSON?

NGINX принимает POST запросы, содержащие JSON небольшого объёма. В зависимости от значений двух полей, запросы надо перенаправить на один или другой upstream.

Например, приходят POST-запросы с телом типа {"type":"A","data":{... или {"type":"B","data":{.... Надо те, что с A переслать на https://hostA.domain.tld, а что с B – на https://hostB.domain.tld

Как это можно сделать силами NGINX, без запуска сторонних php скриптов?

Вроде бы, можно как-то задейстовать скрипты на Lua, но никогда не сталкивался с этим.
  • Вопрос задан
  • 422 просмотра
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
https://github.com/calio/form-input-nginx-module

но гибче писать на луа
Ответ написан
Комментировать
@BorisKorobkov
Web developer
Нет. Nginx не анализирует ТЕЛО запроса. Передавайте с фронта type в виде post-параметра.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы