Spring Boot: Tomcat 환경변수 설정

2023. 8. 8. 08:05·Spring/Spring 설정
반응형
 
 

SpringBoot에서 Tomcat에 환경변수를 설정해 보자

📌 서론

스프링부트를 사용하다 보면 application.properties나 application.yml에 환경변수(api키, db연결정보)를 적은 채로 github에 그대로 push 해서 코드를 노출하는 경우가 있는데 이것은 너무나도 보안적으로 위험하기 때문에 이것을 로컬환경에서 tomcat configuration으로 구성하는 방법에 대해 설명하도록 하겠다.

 

1. 스프링부트3에서 내장 Tomcat에 환경변수를 설정하는 방법

application.yml 확인

  • 우리는 개발할때 application.properties 또는 application.yaml 파일에 스프링부트의 설정을 하게 되는데 이때 이 파일을 그대로 github에 올리면 우리의 보안적인 모든 정보가 공개되기 때문에 local환경에서는 내장 Tomcat에 환경변수를 설정해서 사용해야 한다.

application.yml 작성
application.yml 작성

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를 클릭하자

tomcat_edit_configurations
tomcat_edit_configurations

 

톰켓 환경설정 옵션 추가하기

  • Modify Options에는 여러 가지 옵션들이 존재하는데 여기서 Operating System 목록 하단에 있는 환경 변수 설정(Environment variables)을 클릭한다.

tomcat Environment variables 옵션
tomcat Environment variables 옵션

  • 이제 아래 사진과 같이 메인 Tomcat 설정 팝업창 하단에 Environment variables가 나오고 input박스가 생길 것이다.

Environment variables 설정
Environment variables 설정

 

Tomcat 환경변수 추가하기

  • Environment variables옵션 맨 우측을 보면 "$"모양의 버튼이 있고 이걸 클릭한다.

환경변수 추가하는 버튼
환경변수 추가하는 버튼

  • 아래 사진과 같이 환경변수를 쉽게 입력할 수 있는 팝업창이 나올 것이다.

톰켓 환경변수 입력 팝업창
톰켓 환경변수 입력 팝업창

  • 이제 application.yml에 적었던 ${값} 이 부분에 적힌 내용 (아래 사진 기준 ${DB_URL}에서 DB_URL을 Key로 적어주고 실제 넣어주고자 하는 값을 Value에 작성한다.)을 토대로 내용을 적어준다.

application.yml 내용
application.yml 내용
Tomcat 환경변수 작성하기
Tomcat 환경변수 작성하기

 

 

📌 결론

이제 스프링부트를 실행시키면 잘 동작할 것이다!
이렇게 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
'Spring/Spring 설정' 카테고리의 다른 글
  • [Spring] Maven이란?
  • Spring Boot: Gradle 버전 확인하기
  • Spring 환경설정: Xml과 @Configuration의 차이점
  • [Spring Boot] Properties와 YAML 설정 파일 작성 가이드
Stark97
Stark97
문의사항 또는 커피챗 요청은 링크드인 메신저를 보내주세요! : https://www.linkedin.com/in/writedev/
  • Stark97
    오늘도 개발중입니다
    Stark97
  • 전체
    오늘
    어제
    • 분류 전체보기 (243) N
      • 개발지식 (20)
        • 스레드(Thread) (8)
        • WEB, DB, GIT (3)
        • 디자인패턴 (8)
      • JAVA (21)
      • Spring (88)
        • Spring 기초 지식 (35)
        • Spring 설정 (6)
        • JPA (7)
        • Spring Security (17)
        • Spring에서 Java 활용하기 (8)
        • 테스트 코드 (15)
      • 아키텍처 (6)
      • MSA (14)
      • DDD (9) N
      • gRPC (9)
      • Apache Kafka (18)
      • DevOps (23)
        • nGrinder (4)
        • Docker (1)
        • k8s (1)
        • 테라폼(Terraform) (12)
      • AWS (32)
        • ECS, ECR (14)
        • EC2 (2)
        • CodePipeline, CICD (8)
        • SNS, SQS (5)
        • RDS (2)
      • notion&obsidian (3)
      • 동아리 (0)
  • 링크

    • notion기록
    • 깃허브
    • 링크드인
  • hELLO· Designed By정상우.v4.10.0
Stark97
Spring Boot: Tomcat 환경변수 설정
상단으로

티스토리툴바