반응형
SpringBoot에서 Tomcat에 환경변수를 설정해 보자
📌 서론
스프링부트를 사용하다 보면 application.properties나 application.yml에 환경변수(api키, db연결정보)를 적은 채로 github에 그대로 push 해서 코드를 노출하는 경우가 있는데 이것은 너무나도 보안적으로 위험하기 때문에 이것을 로컬환경에서 tomcat configuration으로 구성하는 방법에 대해 설명하도록 하겠다.
1. 스프링부트3에서 내장 Tomcat에 환경변수를 설정하는 방법
application.yml 확인
- 우리는 개발할때 application.properties 또는 application.yaml 파일에 스프링부트의 설정을 하게 되는데 이때 이 파일을 그대로 github에 올리면 우리의 보안적인 모든 정보가 공개되기 때문에 local환경에서는 내장 Tomcat에 환경변수를 설정해서 사용해야 한다.
spring:
datasource:
url: ${DB_URL}
username: ${DB_USERNAME}
password: ${DB_PASSWORD}
driver-class-name: com.mysql.cj.jdbc.Driver
코드 설명
- 간단하게 설명하면 이 코드는 application.yml에서 작성되었으며 url, username, password가 key이고 우측의 ${값} 부분이 value다. 이렇게 key: value 형식으로 이루어진다.
- url : ${DB_URL}
- username : ${DB_USERNAME}
- password : ${DB_PASSWORD}
2. 내장 Tomcat 환경변수 세팅
Tomcat Edit 들어가기
- 인텔리제이 우측 상단에 있는 실행 중인 서비스를 클릭한다. (아래 사진에서는 ProfileApplication)이다.
- 이후 하단의 목록 중에 ProfileApplication우측의 ":" 모양을 클릭한다. 그럼 좌측에 메뉴바가 생기면서 Edit 버튼이 나올 것이다.
Tomcat 구성창 들어가기
- Edit 버튼을 눌렀다면 아래와 같은 Tomcat 설정하는 팝업창이 나올것이다. 여기서 우리는 우측의 Modify Options를 클릭하자
톰켓 환경설정 옵션 추가하기
- Modify Options에는 여러 가지 옵션들이 존재하는데 여기서 Operating System 목록 하단에 있는 환경 변수 설정(Environment variables)을 클릭한다.
- 이제 아래 사진과 같이 메인 Tomcat 설정 팝업창 하단에 Environment variables가 나오고 input박스가 생길 것이다.
Tomcat 환경변수 추가하기
- Environment variables옵션 맨 우측을 보면 "$"모양의 버튼이 있고 이걸 클릭한다.
- 아래 사진과 같이 환경변수를 쉽게 입력할 수 있는 팝업창이 나올 것이다.
- 이제 application.yml에 적었던 ${값} 이 부분에 적힌 내용 (아래 사진 기준 ${DB_URL}에서 DB_URL을 Key로 적어주고 실제 넣어주고자 하는 값을 Value에 작성한다.)을 토대로 내용을 적어준다.
📌 결론
이제 스프링부트를 실행시키면 잘 동작할 것이다!
이렇게 Tomcat 환경설정을 통해 로컬 환경에서도 꼭 보안을 지키면서 개발을 진행하도록 하자. Github에 나의 중요한 정보를 노출시키는 것은 너무 위험하고 만약 개인적인 내용이라면 괜찮지만 회사의 돈과 직결된 api key같은것이었다면 이것은 돈과 직결되기 때문에 더더욱 위험하다. 그렇기에 우리는 항상 주의해야 한다.
반응형
'Spring 기초 > Spring 설정' 카테고리의 다른 글
[Spring] yml vs properties 설정파일 비교 (1) | 2023.11.08 |
---|---|
[Spring] Maven이란? (0) | 2023.11.08 |
Spring Boot: Gradle 버전 확인하기 (0) | 2023.10.26 |
Spring 환경설정: Xml과 @Configuration의 차이점 (0) | 2023.08.09 |
[Spring Boot] Properties와 YAML 설정 파일 작성 가이드 (0) | 2023.08.07 |