Develop/Node.js

[Node.js] .env 파일에서 민감한 환경변수들 관리

dawonny 2022. 12. 28. 02:20
728x90
반응형

실제로 서버를 배포할 때 필수라고 할 수 있는 .env 파일에 대해서 알아보자

 

server.js 를 작성했을 때 위와 같은 코드를 작성했었던 적이 있다.

이때 8080 이라는 포트번호를 사용했었고, mongodb+srv 라고 시작하는 db 접속 문자열이 있었다.

이런 값들은 개발환경이 달라지거나 다른 컴퓨터로 코드를 옮겨서 작업하면 수정이 필요할 수도 있다

 

이런 환경에 따라 가변적인 변수 데이터들을 보통 환경변수라고 한다.

개발자들은 환경변수를 보통 한곳에 모아서 관리하는데  .env 파일이다.

이곳에 중요한 환경변수들을 넣어두고

server.js에서 .env 파일에 있는 데이터를 쓰는 식이다.

중요한 정보들이 .env 파일에 있기 때문에 보안상으로 좋기도 하다.

 


방법

일단 환경변수 사용을 위한 라이브러리를 설치한다

npm install dotenv 라고 입력한다

그리고 server.js 상단에 라이브러리를 등록한다

그러면 server.js 하단에서 이제 환경변수를 자유롭게 사용할 수 있다.

다음엔 server.js 와 같은 경로에 .env 파일을 하나 만들어준다

이 곳에 필요한 환경변수들을 작성해주면 된다.

보통 변수 이름은 대문자로 표기한다.

이 환경변수들을 server.js 에 불러와서 사용해보자

저런식으로 process.env.환경변수

처럼 쓰면 사용이 가능하다.

 

+

구글 클라우드 서비스에 올릴 경우는 env 파일을 따로 만드는게 아니라 app.yaml 파일 내에 환경변수들을 포함해야 하는데 

https://cloud.google.com/appengine/docs/standard/nodejs/config/appref#environment_variables

 

app.yaml 구성 파일  |  Node.js 문서를 위한 App Engine 표준 환경  |  Google Cloud

주의: 앞으로 몇 개월에 걸쳐 Google은 콘텐츠를 보다 손쉽게 찾고 나머지 Google Cloud 제품과 더 잘 연동되도록 App Engine 문서 사이트를 재구성할 예정입니다. 제공되는 콘텐츠는 동일하지만, 이제

cloud.google.com

이건 곳을 참고해서 환경변수를 제작하자.

(조금 다른게 변수 만들 때 = 이 아닌 : 을 쓴다)

 

728x90
반응형