Как зашифровать соединение с сервером Django?
У меня есть Django REST framework API и у меня проблема - соединение с сервером не шифруется. Есть ли способ зашифровать сервер и соединение с ним? Я использую Django для бэкенда и React.js для фронтенда.
Я использую gunicorn в качестве сервера для развертывания приложений django-проекта (никогда не используйте runserver в production!), и gunicorn может шифровать ваш трафик: gunicorn-docu
Пример простого gunicorn-one-liner-start:
gunicorn YOURappNAME.wsgi:application --certfile=server.crt --keyfile=server.key --bind YOURip:YOURport --workers 3 --threads 4 --log-file - --access-logfile - --error-logfile - --worker-tmp-dir /dev/shm --log-level info -e PYTHONUNBUFFERED=TRUE --access-logformat '%(h)s %({X-Forwarded-For}i)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"'
Я использую это в контейнерном стартовом скрипте
Полагаю, под шифрованием вы подразумеваете SSL/TLS
Есть 3 места, где вы можете это сделать:
- Балансировщик нагрузки, например AWS балансировщик нагрузки .
- Выделенный веб-сервер / обратный прокси например nginx
- Непосредственно в процессе применения, например gunicorn / nodejs