У меня есть проект Django, работающий за Nginx, и Gunicorn. Одно из приложений взаимодействует с сетевыми устройствами, использующими Exscript, который, в свою очередь, использует Paramiko. Некоторые устройства не работают должным образом, когда они находятся за Gunicorn.
Тот же самый точный код будет отлично работать в оболочке django-admin. Он также будет работать, если я запустил встроенный сервер django, но я все равно получаю ошибку, если я обхожу nginx и подключаюсь непосредственно к Gunicorn.
Я попытался переместить функциональность в задачу сельдерея, у нее была такая же точная проблема, но только за Gunicorn.
Я написал script, используя django-extensions, который работает из командной строки, но будет работать, если вызван через подпроцесс. Но только за Гуникорном.
Устройства, которые терпят неудачу, кажутся F5 LTM, и похоже, что буфер на exscript-объекте каким-то образом модифицируется. Если бы я должен был догадаться, я бы сказал, что Gunicorn и Exscript/Paramiko каким-то образом наступают на память друг друга, или, возможно, Gunicorn устанавливает некоторую переменную среды, которую Exscript набирает.
В любом случае я полностью зациклен и буду признателен за любые рекомендации по устранению этой проблемы.