NodeJS
Proxyman Automatic Setup으로 NodeJS 앱과 스크립트의 HTTP/HTTPS 트래픽을 캡처하세요. axios, got, superagent, fetch, node-fetch와 함께 사용할 수 있습니다.
1. 새로운 자동 설정 방식 (v4.7.0 이상) ✅
Proxyman v4.7.0 이상에서는 클릭 한 번으로 NodeJS의 HTTP/HTTPS 트래픽을 캡처할 수 있습니다.
- 클릭 한 번으로 설정: HTTP 프록시 설정을 직접 하거나 자체 서명 인증서를 수동으로 신뢰할 필요가 없습니다.
- 여러 NodeJS 라이브러리를 지원합니다: axios, got, superagent, fetch, node-fetch
사용 방법:
- Proxyman -> Setup Menu -> Automatic Setup 순서로 엽니다.
- "Open New Terminal"을 클릭합니다.
- 필요한 경우 AppleScript 권한 요청을 허용합니다.
- 새 Terminal 창이 열리면 그곳에서 NodeJS 백엔드 서버를 시작하거나 스크립트를 실행합니다. => Proxyman이 모든 트래픽을 자동으로 캡처합니다.
- 예를 들어:
$ npm start
완료 ✅

NodeJS 트래픽 캡처
Automatic Setup 페이지를 확인하세요:
2. 이전 방식 (권장하지 않음) ❌
NodeJS와 Proxyman을 함께 사용할 때 자주 발생하는 문제는 다음과 같습니다:
1. NodeJS 서버의 http://localhost:3000 요청을 Proxyman이 캡처하지 못함
NodeJS로 localhost 웹사이트(예: http://localhost:3000) 를 제공하면 Proxyman이 동작하지 않을 수 있습니다. 예를 들어 ExpressJS로 http://localhost:3000 에 API 서버를 띄우는 경우가 이에 해당합니다.
해결 방법:
localhost 서버에서 요청이 보이지 않는 경우 문서를 참고하세요.
2. NodeJS 로컬 서버에서 보낸 HTTP 요청을 Proxyman이 캡처하지 못함
해결 방법
기본적으로 NodeJS 라이브러리의 HTTP/HTTPS 요청은 HTTP 프록시 서버를 거치지 않으므로 Proxyman이 트래픽을 캡처할 수 없습니다.
2.1 node-fetch
- global-agent 패키지를 설치합니다.
npm install global-agent
2. NodeJS 코드 맨 위에 다음 코드를 추가합니다:
import { bootstrap } from 'global-agent';
bootstrap();
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
- 현재 셸에 다음 환경 변수를 추가합니다. Proxyman이 9090 포트에서 수신 대기 중인지 확인하세요.
export GLOBAL_AGENT_HTTP_PROXY=http://127.0.0.1:9090
- 완료 ✅
NodeJS 스크립트를 다시 실행하면 HTTP/HTTPS 요청이 Proxyman 앱에 나타납니다.
샘플 코드
import fetch from 'node-fetch';
// Setup global-agent
import { bootstrap } from 'global-agent';
bootstrap();
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
// fetch the data
const response = await fetch('https://httpbin.org/get?id=123');
const data = await response.json();
// Done
console.log(data);
2.2 Axios
Axios 문서에 따르면 HTTP_PROXY와 HTTPS_PROXY 환경 변수를 설정할 수 있습니다.
- 메뉴 막대의 Proxyman 아이콘 -> Listen on <IP>:<Port>를 클릭합니다.
- Copy Shell Command를 클릭합니다.

- Terminal을 열고 명령어를 붙여 넣습니다. 예: export https_proxy=http://192.168.1.103:9090 http_proxy=http://192.168.1.103:9090
- 같은 Terminal에서 axios를 사용하는 NodeJS 서버를 시작합니다.
- Axios가 트래픽을 Proxyman을 통해 전송합니다.
- 완료 ✅
2.3 다른 NodeJS 라이브러리를 사용하는 경우
fetch나 axios를 사용하지 않는다면 설정 방법이 다를 수 있습니다. 라이브러리 문서에서 프록시를 설정하고 Proxyman 인증서를 신뢰하는 방법을 확인하세요.