비밀 설정 정보 관리
소스 내부 비밀 정보 보호를 보호한다
소스 코드 내 비밀 정보 보호
mongo DB에 연결시 URI에 데이터베이스 접근 비밀번호가 포함되어 있기에 이 부분을 보호해야 함
-
config 폴더 생성
-
config 폴더 내에 dev.js, key.js, prod.js 생성
-
개발 환경이 Local(develoment) 환경이냐 배포(production) 환경이냐에 따라 처리를 다르게 함
-
key.js
//개발 환경이 배포 환경이면 if(process.env.NODE_ENV==='production'){ module.exports=require('./prod'); //prod.js에서 mongoURI를 읽어오고 }else{ module.exports=require('./dev'); //로컬 환경이면 dev.js에서 mongoURI를 읽 어온다 }
-
Local 환경일 때, dev.js에서 mongoURI를 읽어오게 설정
module.exports={ mongoURI='mongodb+srv://alwayslee<password>~' }
-
배포 환경일 때, prod.js에서 mongoURI를 읽어오게 설정
module.exports={ mongoURI:process.env.MONGO_URI // MONGO_URI= 배포 서버에 명시되어 있는 환경 변수 이름과 같아야 함 (HEROKU에 경우) }
-
.gitignore
에 dev.js 추가(dev.js에는 mongoURI가 명시되어 있기 때문에 깃허브에 업로드 시 해당 파일을 같이 올리면 안된다) -
index.js
변경const config=requires('./config/key');
코드 추가//명시해줬던 mongoURI를 config.mongoURI로 수정 mongoose.connect(config.mongoURI,{ useNewUrlParser:true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false }).then(()=>console.log('MongoDB Connected')) .catch(err=>console.log(err));
참고
www.inflearn.com/course/따라하며-배우는-노드-리액트-기본
Author And Source
이 문제에 관하여(비밀 설정 정보 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@alwayslee_12/비밀-설정-정보-관리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)