n8n 셀프호스팅 도메인이 로컬호스트로 바뀌는 오류 해결하기

소개

처음엔 단순히 GCP에 n8n을 잘 설치만 하면 끝날 줄 알았습니다. 그런데 어느 날부터인가, 웹훅 URL이 내가 설정한 도메인(https://n8ntool.uk/)이 아니라 localhost로 표시되기 시작했습니다. 덕분에 자동화 흐름이 깨지고, 외부 호출이 되지 않는 문제가 발생했죠. 😭

혼자 해결하려고 ChatGPT, 제미나이 등 AI 도구들을 동원했지만 너무 포괄적인 해결책만 나오고, 시간이 부족한 상황이었습니다. 결국 n8n 단톡방의 도움을 요청하게 되었고, 스터디 구성원들의 힌트로 문제의 본질과 해결 방향을 찾을 수 있었습니다.

진행 방법

🧨 문제 상황

  • 웹훅 URL이 https://n8ntool.uk/가 아니라 http://localhost:5678/xxx 형식으로 표시됨

  • 외부 시스템에서 호출이 불가능해짐

🔍 시도한 방법들

  • ChatGPT 및 제미나이 딥리서치로 원인 분석 및 설정 방법 조사

  • 다양한 블로그, 공식 문서 확인했지만 원인은 너무 다양했고 해결책이 광범위함

🧠 단톡방 도움 요청 (실제 대화 일부 요약)

[물결2(청강)] 요거는 해결할 방법이 없을까요? 도저히 못 찾겠어요 ㅠㅠ
[박정기] n8n env 설정을 바꿔주셔야 해요~ 어려운 작업이실 겁니다
[AItive] N8N_HOST 설정 확인해보세요. 로컬호스트면 외부접속 안 돼요!
[준터오마이] 저도 비슷했는데, ngrok 쓰거나 도메인 설정으로 바꿔야 해요

한국 문자 메시지의 스크린 샷


그런데 마지막에 '재설정'이 답이라는 말이 눈에 확 띄었습니다! 설치를 아에 다시하면서 설정을 한 번 되짚어보자는 생각으로 발전!

파일을 가리키는 빨간색 화살표가있는 웹 브라우저의 스크린 샷

우선 문제 해결을 위해 n8n 서버가 존재하는 G.C.P(https://console.cloud.google.com/)에 들어가서 컴퓨터 엔진 -> VM 인스턴스 -> SSH 선택 -> SSH에서 이제 명령어를 입력하면서 진행하였습니다.


🛠️ 적용한 해결 방법

  1. SSH 접속 후 Docker 권한 문제 해결

sudo usermod -aG docker [username]
  1. 기존 n8n 컨테이너 중지 및 제거

docker stop n8n
docker rm n8n
  1. 최신 공식 이미지로 재설치

docker pull docker.n8n.io/n8nio/n8n
  1. 도메인 주소를 환경 변수로 명확히 지정 후 재실행

docker run -d \
  --restart unless-stopped \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_EDITOR_BASE_URL=https://n8ntool.uk \
  -e WEBHOOK_URL=https://n8ntool.uk \
  -e N8N_PROTOCOL=https \
  -e N8N_HOST=0.0.0.0 \
  -e N8N_PORT=5678 \
  -e N8N_EXPRESS_TRUST_PROXY=true \
  docker.n8n.io/n8nio/n8n

결과와 배운 점

✅ 문제는 환경 변수 설정 미흡에서 비롯된 것이었고, 도커 재설정으로 말끔히 해결되었습니다.
✅ AI도 유용하지만, 커뮤니티(단톡방)에서 실전 팁을 얻는 것이 더 빠르고 실질적인 경우도 많았습니다.
✅ 무엇보다도, "설치 후 바로 쓰는 것"보다 내가 구축한 서비스가 어떻게 동작하는지 파악하는 것이 중요하다는 교훈을 얻었습니다.

다음엔 이렇게!

  • 설치 후 바로 작동 여부 확인하지 말고, ENV 변수 설정 상태부터 체크하기

  • 문제 발생 시 당황하지 말고 커뮤니티부터 찾아보기 ✨

도움 받은 글

전하고 싶은 말

단톡방 도움을 적극 활용하자!
혼자서 끙끙대는 시간보다, 단체 지성은 빠르고 따뜻합니다. 💬💡

👉 이 게시글도 읽어보세요