Пользовательский ответ от Tarantool + Nginx
У вас есть экземпляр: Nginx в DMZ с TNT_nginx_upstream_module + Tarantool Cartridge в качестве сервера API.
Когда у меня есть ответ с хорошим результатом - это 200 ОК + JSON с данными
Как установить другой ответ?
- ошибка 400, неверный запрос
- 403 Запрещено
- 404 Не Найдено
- 410 ушел
- 500 - внутренняя ошибка сервера
- сервис 503 недоступен
1 ответ
Модуль восходящего потока Tarantool Nginx был разработан для работы с JSON RPC, а не с обычным HTTP. Есть способ вернуть произвольные результаты, используя
rewrite_by_lua
в
location
раздел. Выглядит это так:
location /api {
default_type application/json;
rewrite_by_lua '
...
';
}
Я не вставляю сюда полный фрагмент, так как он довольно длинный. Вы можете посмотреть здесь.
В общем, я бы также посоветовал вам не использовать упомянутый восходящий модуль, если вам нужен общий HTTP API. Лучше использовать модуль HTTP-сервера, написанный на Lua, и использовать Nginx как обычный обратный прокси. В качестве бонуса на модуль картриджа встроен HTTP-сервер Lua.