본문 바로가기
카테고리 없음

[n8n] n8n "Error connecting to n8n" 에러가 나는경우

by 즐거운호랭이 2025. 11. 26.
반응형

n8n 1.109.1 버전 이후부터 HTTP 환경에서 프론트엔드(브라우저)와 백엔드(서버) 간 통신이 실패하는 경우입니다.

 

기술적 원인

n8n은 두 부분으로 구성되어 있어요.

┌─────────────────────────────────────────────────────┐
│  브라우저 (프론트엔드)                                │
│  - Vue.js 기반 UI                                    │
│  - JavaScript로 API 호출                             │
└─────────────────────┬───────────────────────────────┘
                      │ API 요청 (/rest/settings, /healthz 등)
                      ▼
┌─────────────────────────────────────────────────────┐
│  n8n 서버 (백엔드)                                   │
│  - Node.js 서버                                      │
│  - 포트 5678                                         │
└─────────────────────────────────────────────────────┘

 

 

문제가 발생하는 지점:

  1. Cross-Origin-Opener-Policy (COOP) 헤더 문제
    • 최신 n8n이 보안 강화를 위해 COOP 헤더를 추가함
    • 그런데 HTTP(비보안) 환경에서는 브라우저가 이 헤더를 무시하거나 차단
    • 브라우저 콘솔에 나온 에러: "The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworthy"
  2. Secure Cookie 문제
    • n8n이 세션 관리를 위해 쿠키를 사용
    • N8N_SECURE_COOKIE=true(기본값)면 HTTPS에서만 쿠키 전송
    • HTTP에서는 쿠키가 안 보내져서 인증 실패 → 401 Unauthorized
  3. Origin-Agent-Cluster 충돌
    • 브라우저 콘솔 경고: "the origin had previously been placed in a site-keyed agent cluster"
    • 브라우저 보안 정책과 n8n 헤더 설정이 충돌

 

 

왜 curl은 되고 브라우저는 안 되나?

curl http://[ip]:5678/healthz  # ✅ 성공
  • curl: 단순 HTTP 클라이언트, 보안 정책 없음, 헤더 무시
  • 브라우저: CORS, COOP, 쿠키 정책 등 엄격한 보안 규칙 적용

브라우저는 "이 사이트 HTTP인데 보안 헤더 쓰네? 안전하지 않으니 차단!"이라고 판단하는 거예요.

 

 

n8n 측 대응 상황

GitHub 이슈에 따르면:

  • 1.108.2 버전까지는 정상 작동
  • 1.109.1 버전부터 문제 발생
  • 아직 공식 수정 배포 안 됨 (2025년 9월~11월 현재 진행 중)

 

 

해결 방법 2가지

방법장점단점

1. 버전 다운그레이드 (1.68.0) 빠름, 간단 최신 기능 못 씀
2. HTTPS 설정 (Nginx + SSL) 보안 강화, 최신 버전 사용 가능 도메인 필요, 설정 복잡

 

 

nginx로 https 연동할게 아니라 가볍게 쓸거라면 버전을 다운그레이드하여 사용할 것을 권장합니다. 

 

반응형