Проблема с сокрытием Django SECRET_KEY с использованием переменных среды - PullRequest
0 голосов
/ 05 апреля 2020

Я запускаю свои программы и Django Проект на экземпляре AWS EC2 Ubuntu в виртуальной среде. Проект django выполняется на сервере apache. Для целей этого вопроса я скажу, что мой секретный ключ - «AAAA». У меня есть набор переменных среды ("SECRET_KEY"). Он правильно настроен, и когда я помещаю:

import os print(os.environ['SECRET_KEY']) в оболочку python, он печатает соответствующий секретный ключ, AAAA. Поэтому я знаю, что python может получить доступ к соответствующей переменной среды. В settings.py, когда SECRET_KEY='AAAA', проект работает, и все выполняется правильно. Однако, когда я изменяю это на: SECRET_KEY=os.environ['SECRET_KEY'] сервер не работает (500 Internal Server Error).

Кажется, все должно работать. Любые предложения или идеи о том, что я пропустил здесь?

Ответы [ 2 ]

0 голосов
/ 05 апреля 2020

Оказывается, мне нужно было добавить состояние по умолчанию в os.environ.get примерно так:

SECRET_KEY = os.environ.get('SECRET_KEY', 'mmglfamx3n927*93$ks#r)h%*a(@))vb7*=2q$&z(=6@q&*ghj')
0 голосов
/ 05 апреля 2020

Я использую это как SECRET_KEY = os.getenv('SECRET_KEY') для получения переменных окружения в моих проектах.

Еще одна вещь, которую вы можете сделать, это напечатать переменную env на сервере терминалов, чтобы убедиться, что она доступна для приложения.

С уважением,

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