ganatoday.kr에 n8n Webhook 연동하기 - Cloudflare Tunnel + Docker (2026년 1월 기준)

ganatoday.kr에 n8n Webhook 연동하기 - Cloudflare Tunnel + Docker (2026년 1월 기준)

ganatoday.kr에 n8n Webhook을 webhook.ganatoday.kr로 안전하게 연동하기
Cloudflare Tunnel + Docker 기준 · 2026년 1월 최신 실전 가이드

안녕하세요! ganatoday.kr 운영자입니다.
자체 호스팅 n8n을 사용하면서 외부 서비스(LINE, Telegram, Google 등)에서 webhook을 받기 위해
로컬 n8n(포트 5678)을 인터넷에 안전하게 노출하는 방법을 정리했습니다.

가장 추천하는 방식 : Cloudflare Tunnel

  • 무료
  • 포트포워딩 없이 가능 (집/사무실 방화벽 뚫기 쉬움)
  • 자동 HTTPS 제공
  • ganatoday.kr 도메인 그대로 사용 가능

이미 ganatoday.kr 네임서버가 Cloudflare로 설정되어 있으므로 바로 시작할 수 있습니다!

준비물

  • n8n이 Docker로 실행 중 (localhost:5678 접근 가능)
  • Cloudflare 계정 (무료)
  • Windows PC (또는 서버)에서 n8n이 돌아가는 환경

1단계 : Cloudflare Tunnel 생성 및 Public Hostname 설정

  1. https://one.dash.cloudflare.com/ (Zero Trust) 로그인
  2. 왼쪽 메뉴 → NetworksTunnels
  3. Create a tunnel 버튼 클릭
    • Tunnel name: 예) n8n-webhook-tunnel
    • Connector type: Cloudflared → Save tunnel
  4. Connector 설치 화면에서 Windows 선택 → cloudflared.exe 다운로드
  5. 다운로드 후 관리자 권한으로 실행 (또는 서비스 등록 추천)
    cloudflared.exe service install <YOUR_TUNNEL_TOKEN>
    cloudflared.exe service start

    또는 간단 테스트용:
    cloudflared tunnel run <tunnel-name>

  6. Tunnel 생성 후 → Public Hostname 추가
    • Subdomain: webhook
    • Domain: ganatoday.kr
    • Service Type: HTTP
    • URL: localhost:5678
    • Path: 비워두기
    • Save hostname

→ 자동으로 DNS에 webhook.ganatoday.kr CNAME 레코드 생성
Cloudflare DNS 탭 → Records 새로고침 → Proxy 상태 주황 구름(On) 추천

2단계 : n8n 환경변수 설정 (Webhook URL 강제 지정 - 핵심!)

docker-compose.yml 또는 .env 파일에 아래 내용 추가

services:
  n8n:
    image: n8nio/n8n:latest
    environment:
      - N8N_HOST=0.0.0.0
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://webhook.ganatoday.kr/
      # 필요 시 추가 (일부 버전에서 유용)
      # - WEBHOOK_TUNNEL_URL=https://webhook.ganatoday.kr/
      - N8N_TRUST_PROXY=true           # Cloudflare 프록시 사용 시 추천

변경 후 재시작:

docker compose down
docker compose up -d

3단계 : 테스트

  1. 브라우저에서 https://webhook.ganatoday.kr 열기
    → n8n 로그인 화면 나오면 Tunnel + DNS 성공!
  2. n8n 워크플로우 → Webhook 노드 추가 → Production 모드 활성화
    → URL이 https://webhook.ganatoday.kr/webhook/... 형태로 나와야 함
  3. 간단 테스트:
    curl -X POST https://webhook.ganatoday.kr/webhook/xxxxxx/test \
         -d '{"message":"테스트"}'

흔한 문제 & 해결 (2025~2026 실전 기반)

  • Webhook URL이 여전히 localhost로 보임
    → n8n 재시작 2~3번, 캐시 문제인 경우가 대부분
  • 403/502 Bad Gateway
    → SSL/TLS → Full (strict) 확인
    → Public Hostname → No TLS Verify 체크 (개발용)
  • Connection lost / Invalid origin! (n8n 1.87+)
    → Transform Rules → Modify Request Header
    → Hostname = webhook.ganatoday.kr
    → Set static Origin = https://webhook.ganatoday.kr
  • Tunnel Healthy인데 1033 에러
    → cloudflared 재시작, 네트워크 재확인

요약 체크리스트

  • [ ] Cloudflare Tunnel 생성 & cloudflared 실행 중
  • [ ] Public Hostname: webhook.ganatoday.kr → localhost:5678
  • [ ] n8n .env에 WEBHOOK_URL=https://webhook.ganatoday.kr/ 설정
  • [ ] n8n 재시작 후 Webhook URL 확인
  • [ ] https://webhook.ganatoday.kr 접속 → n8n UI 보임

이대로 따라하시면 ganatoday.kr 메인 사이트는 그대로 두고,
webhook 서브도메인만 n8n에 안전하게 연결됩니다. 🚀


#가나 투데이 #ganatoday

그린아프로