Насколько опасен встроенный тестовый сервер Django при удаленном запуске? - PullRequest
2 голосов
/ 29 сентября 2011

Что касается встроенного сервера отладки, запущенного командой manage.py runserver, то документация Django гласит: «НЕ используйте этот сервер во всем, что напоминает производственную среду».

Если бы я хотел разработать приложение Django поверх ssh на удаленной машине, было бы разумным сделать использование Nginx в качестве прокси для работающего сервера отладки Django?Является ли сервер отладки Django небезопасным или просто не предназначен для обработки большого количества трафика?

Ответы [ 3 ]

5 голосов
/ 29 сентября 2011

С Django Docs :

НЕ ИСПОЛЬЗУЙТЕ ЭТО СЕРВЕР В НАСТРОЙКЕ ПРОИЗВОДСТВА.Он не прошел аудит безопасности или тесты производительности.(И так оно и останется. Мы занимаемся созданием веб-фреймворков, а не веб-серверов, поэтому улучшение этого сервера для обработки производственной среды выходит за рамки Django.)

Итак, это отвечает на два последних вопроса.Что касается первого, это зависит от того, как настроен ваш сервер отладки.Если ваш сервер подключен к общедоступному Интернету, у него нет порта 8000 блокировки брандмауэра, и вы собираетесь использовать runserver с чем-то отличным от адреса 127.0.0.1 по умолчанию, настройте более «правильный» стек приложений.

Если вы собираетесь использовать nginx, почему бы просто не использовать предложенную предлагаемую конфигурацию FastCGI , чтобы ваша среда отладки была больше похожа на будущую производственную среду?

3 голосов
/ 29 сентября 2011

Современные веб-серверы имеют всевозможные функции, связанные как с безопасностью, так и с производительностью, которых нет у сервера разработки Django.Это урезанный, очень простой, однопоточный сервер для целей разработки.Поэтому в документах говорится, что они не должны использоваться в производственных условиях.

Однако люди начинают бояться этого утверждения.Ключевым определяющим моментом является то, что он предназначен для разработки .Независимо от того, происходит ли это на вашем локальном компьютере, на удаленном VPS или на всем кластере, это не имеет значения.

Если сервер общедоступен, он будет открыт для взлома, взлома, DoS-атак и т. Д. НоЕсли то, что там есть, не имеет никакого значения, просто сайт разработки, работающий на фиктивных данных, это не имеет значения.Так что, да, вы можете использовать сервер разработки на своем удаленном сервере для целей разработки.В этом нет ничего плохого.Мое единственное предостережение заключается в том, чтобы не использовать производственные данные (например, использовать дамп из вашей производственной базы данных для разработки), поскольку эти данные могут быть скомпрометированы.В противном случае, это не страшно.

1 голос
/ 10 сентября 2013

Является ли сервер отладки Django небезопасным или просто не предназначен для обработки больших объемов трафика?

ЭТО ОБА НЕСОБЛЮДЕНО И НЕ ПРЕДНАЗНАЧЕНО ДЛЯ ТЯЖЕЛЫХ ДВИЖЕНИЙ!

Это может решить некоторые проблемы, скрывая тестовый сервер за прокси-сервером, но, если вы столкнетесь с такими большими трудностями, вы выполнили столько же работы, сколько вам нужно, чтобы сделать это правильно ... правильнобыть WSGI.Используйте mod_wsgi, gunicorn, или проверьте это для более передового решения: http://bartek.im/blog/2012/07/08/simplicity-nginx-uwsgi-deployment.html. Что бы вы ни делали .... НЕ ИСПОЛЬЗУЙТЕ ТЕСТ-СЕРВЕР DJANGO ДЛЯ ОКРУЖАЮЩЕЙ СРЕДЫ!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...