프로덕션 API를 localhost 환경으로 전환해 테스트
이 튜토리얼을 마치면 다음 작업을 할 수 있습니다:
- Mac에 Proxyman 설정하기
- 웹 브라우저에서 요청/응답 캡처하기
- ✅ 프로덕션 환경에서 localhost 환경으로 매핑하기
프로덕션에서 로컬 환경으로 API 엔드포인트를 전환해야 하는 이유는?
개발자나 QA라면 프로덕션 환경에서 API 엔드포인트를 테스트하는 일이 흔합니다. 하지만 새로운 변경 사항을 적용한 로컬 환경에서 API 엔드포인트를 테스트해야 할 때도 있습니다.
사전 준비 사항
- 최신 Proxyman macOS 버전을 다운로드하세요.
시작하기 전에 Mac에 Proxyman이 설치되어 있고, Mac에서 Proxyman 인증서를 신뢰하도록 설정되어 있는지 확인하세요.
처음 사용하신다면 macOS 시작 가이드를 따라 Mac을 설정하세요.
마지막으로 브라우저에서 www.producthunt.com 같은 아무 웹사이트나 열어 트래픽을 캡처해 보세요. 이제 Proxyman은 브라우저의 HTTPS 트래픽을 캡처하고 복호화할 수 있습니다.

시나리오 1: 프로덕션에서 localhost 환경으로 전환
프로덕션 환경의 https://httpbin.org에서 API 엔드포인트가 호스팅되고 있다고 해 봅시다. 로컬에서 실행 중인 HTTPBin 서버 http://localhost:8080을 사용해 localhost 환경에서 웹사이트를 테스트하려고 합니다. Proxyman 앱의 Map Remote 도구를 사용하면 API 엔드포인트를 프로덕션에서 localhost 환경으로 전환할 수 있습니다.
예를 들면 다음과 같습니다:
- https://httpbin.org/get?id=123 -> http://localhost:8080/get?id=123
- https://httpbin.org/post -> http://localhost:8080/post
- https://httpbin.org/put -> http://localhost:8080/put
- https://httpbin.org/delete -> http://localhost:8080/delete
그럼 방법을 살펴보겠습니다.
1단계: 프로덕션 환경에서 HTTPS 트래픽 캡처하기
브라우저에서 https://httpbin.org/get?id=123에 접속해 트래픽을 캡처하세요. 이 시점에 Proxyman이 브라우저의 HTTPS 트래픽을 캡처하고 복호화할 수 있는지 확인하세요.

그렇지 않다면 Proxyman에서 SSL/TLS Interception을 활성화하세요.

그런 다음 요청을 다시 보내세요.
2단계: 로컬 HTTPBin 서버 준비하기
NodeJS나 Python으로 만든 HTTPBin 서버를 사용해도 되지만, 이 튜토리얼에서는 HTTPBin을 로컬 HTTPBin 서버로 사용하겠습니다.
localhost:8080에서 HTTPBin 서버를 실행하겠습니다.
docker run -p 8080:80 kennethreitz/httpbin
Docker가 설치되어 있지 않다면 여기에서 설치하세요.
HTTPBin 서버가 localhost:8080에서 실행 중인지 확인하세요.
curl http://localhost:8080/get?id=123
HTTPBin 서버에서 응답이 돌아오면 localhost:8080에서 서버가 실행 중이라는 뜻입니다.

3단계: 프로덕션에서 localhost 환경으로 매핑하기
1단계의 요청을 마우스 오른쪽 버튼으로 클릭한 다음 Tools → Map Remote를 선택하세요. 다음과 같이 설정합니다:
Map Rule
- Name: Map from Production to localhost
- Rule: https://httpbin.org/*
- ANY Method를 선택하고 Including subpath 체크박스를 켜세요.
Map To
- Protocol: http
- host: localhost
- port: 8080

이 규칙을 만들면 https://httpbin.org/*에 대한 모든 요청이 http://localhost:8080/*로 매핑되어 로컬 HTTPBin 서버로 전송됩니다.
4단계: API 엔드포인트 테스트하기
브라우저에서 https://httpbin.org/get?id=123에 다시 접속하세요. 이제 로컬 HTTPBin 서버의 응답이 표시됩니다.

Summary 탭 → Debugging Tools 섹션을 열면 요청에 어떤 규칙이 적용되었고 어떻게 매핑되었는지 확인할 수 있습니다.

결론
Map Remote 도구를 사용하면 코드를 바꾸지 않고도 API 엔드포인트를 테스트할 수 있어 유용합니다. 프로덕션에서 localhost 환경으로 API 엔드포인트를 즉시 전환할 수 있습니다.
모든 프로덕션 요청을 매핑하기보다는 호스트와 경로 범위를 좁게 잡은 규칙부터 시작하세요. 특히 여러 도구가 활성화되어 있을 때는 Summary 탭에서 어떤 규칙이 호출을 변경했는지 확인하세요. 로컬 테스트가 끝나면 규칙을 끄세요. 나중 세션에서 프로덕션처럼 보이는 트래픽이 오래된 로컬 서버로 조용히 전송되는 일을 막기 위해서입니다.
다음 단계
- Proxyman 다운로드: Proxyman 다운로드
- Proxyman에 대해 더 알아보기: Proxyman 문서
- Map Remote 도구에 대해 더 알아보기: Map Remote 도구 문서
