Я развертываю свое приложение node.js, основанное на Ghost, в Google Compute Engine. Однако я не уверен, правильно ли записывать учетные данные базы данных в config.js
.
В config.js
файл выглядит примерно так:
...
'production': {
url: 'http://127.0.0.1:2368',
database: {
client: 'mysql',
connection: {
host : '127.0.0.1',
user : 'root',
password : 'root',
database : 'ghost',
charset : 'utf8'
}
},
server: {
host: '127.0.0.1',
port: '2368'
},
},...
Однако это включает учетные данные базы данных, жестко закодированные в config.js
. Я не уверен, достаточно ли это безопасно в производственной среде.
Стоит ли мне устанавливать учетные данные с использованием переменных среды из process.env.xxx
(например. process.env.DB_USER
)? В таком случае, как лучше всего записать эти переменные среды в файл и запустить приложение с конфигурацией?
Вы никогда не должны помещать учетные данные в какой-либо файл, который идет в репозиторий исходного кода.
Обычно для простейшего решения используются переменные среды, которые устанавливаются с помощью панели управления вашей хостинг-платформы, или вы можете использовать такие инструменты, как etcd, для более гибкого решения. Видеть:
С помощью Node вы также можете использовать модуль dotenv, чтобы упростить настройку переменных env во время разработки. Видеть: