WEB 만들기 8 - 비밀 설정 정보 관리
본문 바로가기
WEB

WEB 만들기 8 - 비밀 설정 정보 관리

by KyeongMin 2021. 1. 17.
728x90
반응형

우리의 api key나 몽고디비를 했을때 사용한 아이디나 비번에 대해서 특히 git에 올리는 경우에 주의를 해야합니다. 

 

그대로 노출이 되기때문에  우리는 그것을 gitignore을 이용해서 안보이게 해줄것입니다. 

 

폴더를 하나 만들어주세요. 

config 폴더를 만들어 주시고 , 그 안에다가 dev.js 파일을 생성해주세요.

 

이렇게 만들어진것이면 맞습니다. 

 

그리고 로컬 환경( development )과 배포(Deploy) (production)의 차이가 있습니다.

로컬의 경우 

우리가 만든 dev.js파일에 

 

module.exports={

 mongoURI:'mongodb+srv://KyeongMin:qwe123!@bolierplate.japvm.mongodb.net/<dbname>?retryWrites=true&w=majority'

}

이안에 키를 넣어서 관리하면되고 

배포하는 사이트의 따라서 그곳에서 키와 내용을 관리해야한다. 

 

일단 그렇기 때문에

이렇게 3개를 만들어준다음에 

key.js 부분에 

if(process.env.NODE_ENV=='production'){

    module.exports=require('./prod');

}else {

    module.exports=require('./dev');

}

 

이런식으로 모드에 따라 다르게 작동하게 해줍니다. 

 

prod.js 파일에는

module.exports={

    mongoURI : process.env.MONGO_URI// 헤로쿠 사이트의 키값과 일치 시키기 

}

 

이렇게 해주고 

index.js 부분의 아까 키값을 뺀곳을 채워야하니까 

 

const config = require("./config/key");

 

이걸 선언을 해주고 

const mongoose = require('mongoose')

mongoose.connect(config.mongoURI,{

    useNewUrlParser: trueuseUnifiedTopology : trueuseCreateIndex : trueuseFindAndModify : false

}).then(()=>console.log('MongoDB Connected...')).catch(err=>console.log(err))



왜 config.mongoURI 이냐면 우리가 

dev.js 파일에서 mongoURI로 했기 떄문이다. 

 

제대로 들어갔는지 확인해보자 . npm run start 

해서 이상이 없으면 잘한거에요.

 이렇게 나오면 잘따라오신거에요.

 

우리는 비밀키를 숨기기 위함이니까 . 

.gitignore 부분에 

 

dev.js 를 해주면됩니다.

git에 넣고 확인해보시면 됩니다. 

 

728x90
반응형

댓글