본문 바로가기
AI Agent

[ AI Agent ] ngrok을 사용해 n8n에 외부 접속하기

by 2CHAE._.EUN 2026. 6. 25.

1. 웹훅 기반의 트리거를 사용하기 위해 HTTP 통신이 아닌 HTTPS 통신이 가능해야 한다.

n8n에서 외부 애플리케이션을 데이터를 전송할 때 외부 서버가 HTTPS를 사용할 경우 n8n이 HTTP를 사용해도 상관없지만, 반대로 외부에서 n8n으로 데이터를 전송할 때는 보안상의 이유로 n8n이 사용하는 HTTP 주소로는 웹훅 데이터를 보내주지 않는다.

* 웹훅 : 한 애플리케이션에서 특정 이벤트가 발생했을 때(예: 결제 완료, 회원가입), 관련된 데이터와 실시간 알림을 사전에 지정된 다른 애플리케이션으로 자동 전송하는 통신 방식

* HTTP( HyperText Transfer Protocol ) : 웹 브라우저와 서버 간에 데이터를 주고 받는 통신 프로토콜 ( 포트번호 : 80 )

* HTTPS( HyperText Transfer Protocol SECURE ) : HTTP + SSL/TLS ( 포트번호 : 443 )

  HTTP는 암호화 없이 평문을 전송하지만 HTTPS는 데이터를 암호화해 전송한다. 

* SSL/TLS : 인터넷 상에서 데이터를 안전하게 주고 받기 위해 사용하는 보안 프로토콜

 

2. 외부 접근을 위한 터널링 ngrok을 사용하면 HTTPS 없이 외부에서 접근 가능한 공개 URL을 생성해준다. 

ngrok : 방화벽이나 공유기(NAT) 뒤에 있는 로컬 개발 환경(내 컴퓨터)의 서버를 별도의 복잡한 네트워크 설정 없이도 외부 인터넷에서 안전하게 접근할 수 있도록 터널링해 주는 도구 ( local host는 외부에서 접근 불가 )

* 터널링 : 인터넷을 통과할 수 없는 프로토콜이나 사설 데이터를, 인터넷이 인식할 수 있는 일반적인 데이터 패킷 안에 '캡슐'처럼 감싸서(캡슐화) 안전하게 전송하는 기술

+ 로컬 컴퓨터에서 실행 중인 웹 서버를 외부 인터넷에서 접근할 수 있도록 임시 HTTPS 주소를 만들어주는 기술

* 캡슐화 : 데이터를 보낼 때 각 네트워크 계층(Layer)을 거치면서 필요한 제어 정보(헤더, 트레일러)를 데이터 주위에 붙여 나가는 과정

 


ngrok 설정하기

 

1. ngrok에 접속해서 윈도우용 프로그램 다운로드 받기

https://ngrok.com/

 

ngrok: deliver your apps, APIs, and AI on local and prod

ngrok is developer infrastructure that routes and secures traffic to your apps, APIs, and AI models, wherever they run. Start on localhost, ship to prod.

ngrok.com

 

2. CLI 화면에서 token을 추가하는 명령어 입력하기

ngrok config add-authtoken #내토큰번호

 

3. localhost로 사용하고 있는 5678 포트번호를 포워딩 시키기

포워딩 : 특정 목적지나 경로로 향하는 데이터, 이메일, 네트워크 트래픽 등을 다른 곳으로 전달하거나 우회시키는 행위

* 포트 포워딩 : 외부에 있는 사람이 우리 집이나 사무실 공유기(공인 IP)를 거쳐, 그 안에 연결된 특정 컴퓨터나 기기(사설 IP)로 찾아올 수 있도록 문(Port)을 열어주는 기술

ngrok http 5678

 

https://ea7f-211-104-122-155.ngrok-free.app 주소로 포워딩 되고 있는 것을 확인할 수 있다. 외부에서는 해당 주소로 접근하지만 실제로 내부적으로 운영되고 있는 사이트는 localhost:5678이다.

* 127.0.0.1 : 컴퓨터 네트워킹에서 '현재 사용 중인 자기 자신(내 컴퓨터)'을 가리키는 특별한 IP 주소(루프백 주소)

 

4. n8n에도 ngrok 등록하기

① n8n 설치 파일 중 도커 설치 파일인 docker-compose.yml을 수정해야한다.

② x-n8n의 environment에 아래 내용 추가하기

* ngrok 무료 버전이기 때문에 다시 실행할 때마다 주소가 바뀌는 것을 주의

③ docker가 설치되어 있는 폴더의 경로에서 수정된 내용이 있으면 도커에 다시 반영하기 위해 아래의 명령어를 사용해야한다.

docker compose up -d

 

④ https://ea7f-211-104-122-155.ngrok-free.app 라는 주소로 n8n을 사용할 수 있게 된다.