@huko

Можно ли узнать размер ответа бэкенда?

Hi !

Есть работающий nginx в качестве прокси, возможно ли сделать что-то подобное:
if ($content_length == '11088')
    { return 404; }

т.е. если на входящий запрос proxy_pass вернул нам ответ длинной 11088 байт то мы вместо этого отдадим клиенту 404.
  • Вопрос задан
  • 187 просмотров
Пригласить эксперта
Ответы на вопрос 3
@GhOsT_MZ
Ростов-на-Дону
Есть модуль upstream, который хранит в переменной размер ответа, а также еще кучу полезной информации.
nginx.org/ru/docs/http/ngx_http_upstream_module.html
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
Насколько мне известно, такое только на Lua можно дописать в качестве "аддона".)
Ответ написан
ifaustrue
@ifaustrue
Пишу интересное в теллеграмм канале @cooladmin
Что-то мне подсказывает, что вы измерили размер страницы с ошибкой, прилетающей от бекенда и старательно пытаетесь в этом случае отдать nginx'овую 404.

Имхо грабель и костыль. Отдайте со стороны бакенда нормальный варнинг и подмените его на стороне nginx на нужный вам. Это очень легко гуглится.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы