728x90

문제

프로젝트를 하면서 데이터베이스 id, password, secretKey 등은 깃헙 레포지토리에 노출되면 공격자가 쉽게 서버의 중요한 정보를 알아내어 서버가 위험해 빠질 수 있다. 이것을 방지하기 위해 env.properties 파일을 만들어서 중요 정보들을 관리를 했는데 프로젝트의 비즈니스 로직과 관계없는 클래스를 생성하여 환경설정을 해줘야했다. 그래서 개선을 해보았다.

문제 해결

문제를 해결하기 위해 OS자체내에 환경변수를 설정했다.

터미널이 실행되면 .bash_profile 파일 부터 읽는다고 한다.

 

1. vi ~/.bash_profile

위 명령어를 터미널에서 입력하여 export PORT=8080 이런식으로 원하는 변수들을 설정해준다.

설정이 완료 됐으면 wq로 저장 하고 나간다.

 

 

2. source ~/.bash_profile

위 명령어로 수정된 값들을 바로 적용 시켜보자

 

 

3. 테스트 하기

echo $변수 를 사용하여 잘 나오는지 테스트 해주자.

 

아래와 같이 나온다면 정상적으로 적용 되었다는 뜻이다.

 

 

4. 코드에 적용하기

테스트 까지 완료 후 코드에 적용해보자.

나는 IntelliJ IDE로 스프링부트 프로젝트를 하고 있는데, application.yml 설정 파일에 

이렇게 적용하여 애플리케이션을 실행해 보면 환경변수들이 잘 들어가며 잘 실행 된다.

+ Recent posts