Если uWSGI говорит invalid request block size
И тут вы заметили, что nginx время от времени отвечает ошибкой 502, а в журнале uWSGI появились записи вида «invalid request block size: 11527 (max 4096)…skip».
Вы, конечно, до настройки uWSGI прочли обязательное и знаете, что заголовки каждого из запросов uWSGI хранит в буфере размером 4096 байт по умолчанию. И что этот буфер, в случае необходимости, можно увеличить директивой
Но бездумное изменение настроек, скорее всего, не наш метод. И мы уже понимаем, что спонтанность 502 связана с конкретными запросами. Значит, нужно отследить на каких конкретно запросах возникает ошибка.
Запросы можно увидеть в журнале uWSGI (если вы его для этого предварительно настроили), либо сравнивая журналы uWSGI и nginx.
Есть большая доля вероятности, что вы обнаружите там длинные GET-запросы. Вы же помните, что метод GET передаёт параметры не в теле запроса, а в заголовках.
Итак, причина ошибок обнаружена, теперь-то точно можно перейти к их устранению. Ну, а тут должно быть понятно, что первым делом следует попробовать заменить эти запросы на POST, и только если это не вариант, переходить к увеличению размера буфера, упомянутому в начале статьи.
Удачи!
buffer-size
в файле конфигурации, или задать параметром -b
в командной строке.Но бездумное изменение настроек, скорее всего, не наш метод. И мы уже понимаем, что спонтанность 502 связана с конкретными запросами. Значит, нужно отследить на каких конкретно запросах возникает ошибка.
Запросы можно увидеть в журнале uWSGI (если вы его для этого предварительно настроили), либо сравнивая журналы uWSGI и nginx.
Есть большая доля вероятности, что вы обнаружите там длинные GET-запросы. Вы же помните, что метод GET передаёт параметры не в теле запроса, а в заголовках.
Итак, причина ошибок обнаружена, теперь-то точно можно перейти к их устранению. Ну, а тут должно быть понятно, что первым делом следует попробовать заменить эти запросы на POST, и только если это не вариант, переходить к увеличению размера буфера, упомянутому в начале статьи.
Удачи!
Категории
Окружение
Область
Платформа
Проект
Уровень
На заметку
Читайте нас в Twitter. Ссылка в самом низу страницы.