본문 바로가기

카테고리 없음

Intellij에서 Proxy Fiddler로 설정

IntelliJ에서 JVM 옵션 설정하기

  1. Run/Debug Configurations 열기
    • IntelliJ IDEA의 우측 상단에 있는 실행/디버그 설정 드롭다운에서 Edit Configurations...를 클릭하거나 Run > Edit Configurations...를 선택하세요.
  2. 프로젝트 또는 애플리케이션 선택
    • Run/Debug Configurations 창에서 프로젝트 또는 실행할 애플리케이션의 설정을 선택합니다.
  3. VM Options에 프록시 설정 추가
    • 설정 페이지에서 VM Options 필드에 다음 프록시 설정을 추가합니다.
    • -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8888
    예를 들어 Spring Boot 프로젝트라면 아래와 같이 입력합니다.
    -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8888
  4. 설정 저장 및 실행
    • 설정을 저장한 후 Apply 및 OK 버튼을 클릭하고, 해당 Run Configuration을 선택하여 디버깅을 시작합니다.

이제 IntelliJ에서 디버깅할 때 모든 HTTP 및 HTTPS 요청이 Fiddler를 통해 전달되어 모니터링이 가능하게 됩니다.

 

* PKIX path building failed는 SSL 인증서 검증 과정에서 발생하는 문제를 나타냅니다. 이는 Fiddler를 통해 HTTPS 통신을 프록시할 때 Fiddler의 자체 서명된 인증서를 신뢰하지 못해 발생하는 문제입니다.

해결 방법: Fiddler 인증서를 신뢰하도록 Java Keystore 설정

  1. Fiddler 인증서 다운로드
    1. Fiddler를 열고 Tools > Options > HTTPS 탭으로 이동합니다.
    2. Actions > Export Root Certificate to Desktop 옵션을 클릭합니다. 이 옵션은 Fiddler의 루트 인증서를 데스크톱에 FiddlerRoot.cer로 내보냅니다.
  2. Fiddler에서 사용되는 루트 인증서를 Java Keystore에 수동으로 추가해야 합니다.
    # keytool을 이용해 Fiddler 인증서 추가
    keytool -import -noprompt -trustcacerts -alias fiddler -file C:\Users\User\.jdks\corretto-21.0.3\lib\security\FiddlerRoot.cer -keystore C:\Users\User\.jdks\corretto-21.0.3\lib\security\cacerts -storepass changeit
    • $JAVA_HOME을 실제 Java 설치 경로로 바꿔줍니다.
    • FiddlerRoot.cer 경로는 1번에서 내보낸 Fiddler 인증서 파일의 경로로 대체해야 합니다.
    • changeit은 cacerts keystore의 기본 비밀번호입니다. 변경하지 않았다면 그대로 사용하면 됩니다.
  3. Fiddler 루트 인증서를 Java의 cacerts keystore에 추가해야 합니다.
  4. IntelliJ에서 다시 실행
  5. 위와 같이 설정한 후 IntelliJ에서 Run/Debug Configurations에 설정된 JVM 옵션과 함께 애플리케이션을 다시 실행합니다.

요약

  1. Fiddler 인증서를 내보내고 Java Keystore에 추가합니다.
  2. 필요한 JVM 옵션을 사용하여 IntelliJ에서 실행합니다.

이렇게 하면 Spring Boot 애플리케이션이 Fiddler를 통한 HTTPS 통신 시 Fiddler의 자체 서명된 인증서를 신뢰할 수 있게 되어 PKIX path building failed 오류가 해결됩니다.