Skip to main content

Command Palette

Search for a command to run...

HTTP Toolkit으로 Spring Boot 애플리케이션 HTTP 요청 캡처하기

Updated
3 min read

IntelliJ IDEA에서 HTTP Toolkit 프록시 설정하기

Spring Boot 애플리케이션을 개발할 때 외부 API 요청을 모니터링하고 디버깅하기 위해 HTTP Toolkit을 사용하는 경우가 많습니다. 이 글에서는 IntelliJ IDEA에서 HTTP Toolkit으로 프록시 설정하는 방법을 단계별로 설명하겠습니다.

1. HTTP Toolkit 설정

먼저 HTTP Toolkit을 실행하고 프록시 서버를 시작합니다.

  1. HTTP Toolkit 실행

  2. "Intercept HTTP" 클릭

  3. 프록시 포트 확인 (기본값: 8000번 포트)

2. IntelliJ IDEA에서 사용하는 JDK 확인

프록시 설정 전에 IntelliJ에서 사용하는 JDK 버전을 확인해야 합니다. 이는 후에 HTTPS 인증서 문제를 해결할 때 중요합니다.

프로젝트 JDK 확인

  1. File → Project Structure (또는 Cmd + ;)

  2. Project Settings → Project

  3. Project SDK 확인

    • 예: corretto-17.0.15, openjdk-11, Oracle OpenJDK 21

IntelliJ에서 JDK 경로 확인

터미널을 사용하지 않고 IntelliJ에서 직접 JDK 경로를 확인할 수 있습니다.

  1. File → Project Structure (또는 Cmd + ;)

  2. Platform Settings → SDKs 선택

  3. 사용 중인 JDK 선택 (예: corretto-17)

  4. JDK home path 확인

    • 예: ~/Library/Java/JavaVirtualMachines/corretto-17.0.15/Contents/Home

이 경로가 나중에 인증서를 추가할 때 필요한 Java 설치 경로입니다.

3. IntelliJ IDEA 프록시 설정

방법 1: Run Configuration에서 JVM 옵션 설정 (권장)

가장 간단하고 효과적인 방법입니다.

  1. Run → Edit Configurations

  2. 해당 Spring Boot 애플리케이션 선택

  3. VM options 필드에 다음 옵션 추가:

-Dhttp.proxyHost=127.0.0.1
-Dhttp.proxyPort=8000
-Dhttps.proxyHost=127.0.0.1
-Dhttps.proxyPort=8000

방법 2: Environment Variables 설정

같은 Run Configuration에서 Environment variables에 추가:

HTTP_PROXY=http://127.0.0.1:8000
HTTPS_PROXY=http://127.0.0.1:8000

방법 3: IDE 전체 프록시 설정

IDE 전체에 프록시를 적용하려면:

  1. File → Settings (또는 Cmd + ,)

  2. Appearance & Behavior → System Settings → HTTP Proxy

  3. Manual proxy configuration 선택

  4. HTTP와 HTTPS 프록시 설정:

    • Host: 127.0.0.1

    • Port: 8000

  5. Check connection 버튼으로 연결 테스트

4. HTTPS 인증서 문제 해결

HTTP 요청은 바로 캡처되지만, HTTPS 요청 시 다음과 같은 SSL 에러가 발생할 수 있습니다:

javax.net.ssl.SSLHandshakeException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target

이 문제를 해결하기 위해 HTTP Toolkit의 CA 인증서를 Java keystore에 추가해야 합니다.

HTTP Toolkit CA 인증서 위치 확인

# macOS
ls -la ~/Library/Preferences/httptoolkit/ca.pem

# Windows
dir %APPDATA%\httptoolkit\ca.pem

# Linux
ls -la ~/.config/httptoolkit/ca.pem

Java keystore에 인증서 추가

앞서 확인한 JDK 경로를 사용하여 인증서를 추가합니다:

# 일반적인 macOS OpenJDK 경로
sudo keytool -import -alias httptoolkit \
  -keystore /Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home/lib/security/cacerts \
  -file ~/Library/Preferences/httptoolkit/ca.pem \
  -storepass changeit -noprompt

# Amazon Corretto 17 예시
sudo keytool -import -alias httptoolkit \
  -keystore ~/Library/Java/JavaVirtualMachines/corretto-17.0.15/Contents/Home/lib/security/cacerts \
  -file ~/Library/Preferences/httptoolkit/ca.pem \
  -storepass changeit -noprompt

인증서 추가 확인

keytool -list -keystore /path/to/java/lib/security/cacerts \
  -storepass changeit | grep httptoolkit

성공 시 출력:

httptoolkit, 2025. 7. 8., trustedCertEntry,

5. 설정 확인 및 테스트

  1. 애플리케이션 완전 종료

  2. IntelliJ 재시작 (선택사항)

  3. HTTP Toolkit 실행 및 프록시 시작

  4. Spring Boot 애플리케이션 실행

  5. API 요청 실행 후 HTTP Toolkit에서 캡처 확인

6. 문제 해결 팁

프록시가 작동하지 않는 경우

  1. HTTP Toolkit 프록시 포트 확인 (기본값: 8000)

  2. 방화벽 설정 확인

  3. IntelliJ 재시작

  4. JVM 옵션 오타 확인

인증서 관련 오류

  1. 올바른 JDK 경로 사용 확인

  2. keytool 명령어 실행 권한 확인

  3. 이미 추가된 인증서 확인

# 기존 인증서 삭제 후 재추가
sudo keytool -delete -alias httptoolkit \
  -keystore /path/to/java/lib/security/cacerts \
  -storepass changeit

# 재추가
sudo keytool -import -alias httptoolkit \
  -keystore /path/to/java/lib/security/cacerts \
  -file ~/Library/Preferences/httptoolkit/ca.pem \
  -storepass changeit -noprompt

마무리

IntelliJ IDEA에서 HTTP Toolkit 프록시 설정은 API 디버깅과 모니터링에 매우 유용합니다. 특히 외부 API 연동 시 요청/응답 데이터를 실시간으로 확인할 수 있어 개발 효율성이 크게 향상됩니다.

권장 설정 순서:

  1. JDK 버전 확인

  2. Run Configuration에서 JVM 옵션 설정

  3. HTTPS 인증서 추가 (필요시)

  4. 애플리케이션 재시작 후 테스트

이 방법을 통해 모든 HTTP/HTTPS 요청을 HTTP Toolkit에서 캡처하고 분석할 수 있습니다.

More from this blog

Tech Lead의 기술 로드맵 작성법: 실전 예시와 함께

"우리 팀 기술 방향이 뭐예요?" Tech Lead가 되면 반드시 듣게 되는 질문입니다. 팀원들은 자신이 어디로 가고 있는지 알고 싶어합니다. 내년에도 이 기술을 쓸 건지, 새로운 걸 배워야 하는지, 이 프로젝트가 끝나면 뭘 하게 되는지. 기술 로드맵은 이 질문에 대한 답입니다. 단순히 "이런 기술 쓸 거예요"가 아니라, 왜 그 방향으로 가는지, 언제쯤 도달할 수 있는지, 각자 무엇을 준비해야 하는지를 보여주는 지도입니다. 이 글에서는 실제로 ...

Jan 10, 20266 min read

Tech Lead의 비용 관점: 돈을 아는 개발자가 되어야 하는 이유

Tech Lead는 단순히 "코드를 잘 짜는 시니어 개발자"가 아닙니다. 기술적 의사결정이 비즈니스에 미치는 영향을 이해하고, 비용 효율적인 선택을 할 수 있어야 합니다. 저는 직장을 다니면서 6년간 친구들과 창업을 준비했습니다. 자본이 넉넉하지 않았기에 모든 기술적 선택에서 "이게 정말 필요한가?", "더 저렴한 방법은 없는가?"를 고민할 수밖에 없었습니다. 그 경험이 지금의 비용 관점을 형성하는 데 큰 영향을 주었습니다. 이 글에서는 Tec...

Jan 10, 20265 min read

인공지능 역사 인물 정리: 시대별 발전과 핵심 기여자

인공지능(Artificial Intelligence, AI)은 철학적 질문에서 시작해 알고리즘, 컴퓨팅 기술, 데이터의 발전을 거쳐 오늘날 생성형 AI로 진화했습니다. 이 글은 AI 역사 속 주요 인물을 시대별로 정리하고, 각 인물이 만들어낸 기술적 성과와 개념을 중심으로 소개합니다. 1950년대: 기계 지능 개념의 출발점 앨런 튜링 (Alan Turing, 1912–1954, 영국) 인공지능 개념의 철학적 기초 제시자 주요 이력 (19...

May 22, 20254 min read

📚 퀵소트 (QuickSort) : 원리, 방식 비교, 자바 구현까지

✨ 퀵소트란? 퀵소트(QuickSort)는 분할정복(Divide and Conquer) 전략을 활용한 정렬 알고리즘입니다. 피벗(Pivot)을 기준으로 배열을 분할하고, 각 부분 배열에 대해 재귀적으로 정렬을 수행하여 전체 정렬을 완성합니다. ⚙️ 작동 원리: 분할정복 퀵소트는 다음 세 단계로 구성됩니다. 단계설명 분할피벗을 기준으로 작은 값과 큰 값으로 배열을 나눈다 정복좌우 하위 배열에 대해 재귀적으로 퀵소트를 적용한다 결...

May 20, 20253 min read

Labaratory

19 posts