Ну, у меня проблемы. Как я могу хранить пароли, db url и важные строки, которые не должны идти в мой открытый контроль версий?Где хранить секретные строки на сервере Node?
У меня есть 3 решения. В первые работает только на Dev:
var config = require('./config');
var port = config.serverPort;
config.js
module.exports = {
'serverPort' : '8182'
}
второй один должен работать как на разработчика и прод. Но файл config.js был добавлен в файл .gitignore, поэтому он не будет загружен на сервер. Когда сервер пытается потребовать config.js и не может найти его, он выдаст ошибку.
var config = require('./config');
var port = process.env.PORT || config.serverPort;
The третьего является использование только process.env переменных, но это работает только на производстве. И, если я тестирую на локальном компьютере, мне может понадобиться вставить мои секретные строки и не забудьте удалить их перед отправкой в открытый контроль версий.
Итак, что мне делать?
кажется, что конфигурационный файл, который содержит секретные настройки и не проверяется в систему управления версиями это общий способ сделать это. – jfriend00
Но как я могу управлять этим неопределенным требованием на моем сервере? Мой сбой сервера, потому что он не может найти файл config.js. – Rodmentou
Когда вы устанавливаете установку, вы вручную создаете или копируете файл config.js. Это часть локальной настройки конфигурации, характерная для данной установки. Например, БД разработки может иметь отличный путь и пароль, чем производственная БД (фактически, если это более крупная компания, вам даже не будет позволено знать пароль производственного БД). Таким образом, вы создаете соответствующий файл конфигурации каждый раз, когда вы настраиваете сервер, который соответствует конфигурации в этой среде (пути, пароли, сертификаты и т. Д.). – jfriend00