Inflearn brand logo image

인프런 커뮤니티 질문&답변

재유니즘님의 프로필 이미지
재유니즘

작성한 질문수

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

도커 기반 HTTPS 보안 서버 구축과 서브도메인 리버스 프록시 설정법

6강 질문있습니다!

해결된 질문

작성

·

68

0

안녕하세요 ! 남박사님! 좋은 강의 감사합니다!

다름은 아니고 잘 안되는 부분이있어 질문드립니다!

 

11.JPG.webp

'Connection lost' 를 지우기위해

캡23처.JPG.webp

말씀하신대로 이곳에서 저는 'aiproject.kr' 도메인을 사용해서 이렇게 작성하고 save까지 했는데 오류메세지가 안없어지더라구요!

 

제가 무엇을 놓쳤는지 궁금하여 질문 남깁니다!

답변 2

1

남박사님의 프로필 이미지
남박사
지식공유자

안녕하세요, 재유니즘 님.

일단 강의에 대한 좋은 말씀 감사드립니다.

올려주신 스샷에서의 설정은 크게 문제가 있어보이진 않습니다. 당연히 n8n 을 새로고침은 해보셨을것 같고, 지금 제 서버에 적용된 부분을 보면,

 

image.png

위의 스샷처럼 되어있는데 Upgrade websocket; 항목을 제거했습니다. Upgrade websocket은 말 그대로 Upgrade라는 헤더를 "websocket" 이라는 값으로 강제 적용하라는 의미인데, 이걸 제거하게 되면 docker-compose.yml 에서

 

.....
  environment:
    - N8N_PUSH_BACKEND=sse

이렇게 설정하여 브라우저와 n8n 사이에 에디터 변화를 Server-Send-Events 방식으로 처리한다는 이야기가 됩니다. 만약 Upgrade websocket을 하게 되면 N8N_PUSH_BACKEND가 websocket이 되어야 합니다. 일단 가장 유력한 부분은 이 부분 같긴 한데 현재 제 docker-compose.yml 전체 코드를 첨부하오니 참고해 보시기 바랍니다.

 

volumes:
  n8n_storage:
  postgres_storage:
  qdrant_storage:

networks:
  demo:

x-n8n: &service-n8n
  image: n8nio/n8n:latest
  networks: ['demo']
  environment:
    - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
    - N8N_CORS_ORIGIN=https://n8n.blogagent.kr
    - WEBHOOK_URL=https://n8n.blogagent.kr
    - N8N_EDITOR_BASE_URL=https://n8n.blogagent.kr
    - N8N_HOST=n8n.blogagent.kr
    - N8N_PORT=5678
    - N8N_EXPRESS_TRUST_PROXY=true
    - N8N_SECURE_COOKIE=false
    - TZ=Asia/Seoul
    - N8N_PAYLOAD_SIZE_MAX=32
    - N8N_REQUEST_MAX_SIZE=100MB
    - N8N_PUSH_BACKEND=sse
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=postgres
    - DB_POSTGRESDB_USER=${POSTGRES_USER}
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
    - N8N_DIAGNOSTICS_ENABLED=false
    - N8N_PERSONALIZATION_ENABLED=false
    - N8N_ENCRYPTION_KEY
    - N8N_USER_MANAGEMENT_JWT_SECRET
  env_file:
    - path: .env
      required: true

services:
  postgres:
    image: postgres:16-alpine
    hostname: postgres
    networks: ['demo']
    restart: unless-stopped
    environment:
      - POSTGRES_USER
      - POSTGRES_PASSWORD
      - POSTGRES_DB
    volumes:
      - ./postgres_storage:/var/lib/postgresql/data
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
      interval: 5s
      timeout: 5s
      retries: 10

  n8n-import:
    <<: *service-n8n
    hostname: n8n-import
    container_name: n8n-import
    entrypoint: /bin/sh
    command:
      - "-c"
      - "n8n import:credentials --separate --input=/demo-data/credentials && n8n import:workflow --separate --input=/demo-data/workflows"
    volumes:
      - ./n8n/demo-data:/demo-data
    depends_on:
      postgres:
        condition: service_healthy

  n8n:
    <<: *service-n8n
    hostname: n8n
    container_name: n8n
    restart: unless-stopped
    ports:
      - 5678:5678
    volumes:
      - ./n8n_storage:/home/node/.n8n
      - ./n8n/demo-data:/demo-data
      - ./shared:/data/shared
    depends_on:
      postgres:
        condition: service_healthy
      n8n-import:
        condition: service_completed_successfully

  qdrant:
    image: qdrant/qdrant
    hostname: qdrant
    container_name: qdrant
    networks: ['demo']
    restart: unless-stopped
    ports:
      - 6333:6333
    volumes:
      - ./qdrant_storage:/qdrant/storage

docker-compose.yml 수정시 반드시 docker compose up -d 명령을 수행해야 변경된 내용이 적용되니 이점도 참고하시기 바랍니다.

N8N의 자세한 환경설정 내용은 공식사이트 링크를 참고하셔도 좋습니다. 그리고,

 

image.png

 

N8N 공식사이트에 AI 도움 서비스가 제공되고 있습니다. 얘한테 n8n에 대해 물어보면 기가막히게 답변을 잘 해주기도 하니 이 부분도 참고해보세요.

재유니즘님의 프로필 이미지
재유니즘
질문자

빠른답변 감사합니다!
우선 답변주신내용 그대로 수정하긴했습니다!

캡11처.JPG.webp

 

캡처2.JPG.webp


그런데도 아직도 그대로입니다ㅠㅠ

캡처3.JPG.webp

 

어디서 무엇을 놓친것인지 모르겠지만
우선 강의를 다시 처음부터 들어보며 다시 따라가보도록 하겠습니다!

남박사님의 프로필 이미지
남박사
지식공유자

image.png

지금 보시면 접속된 경로가 서브도메인도 없이 그냥 도메인:5678로 접속 되어있습니다. 이렇게 접속되면 nginx proxy manager랑 상관없이 그냥 아이피:5678로 접속한것과 마찬가지 상황으로 동작하고 있는 상황입니다. 강의에서처럼 서브도메인을 사용해서 https://n8n.aiproject.kr 로 접속하셔야 하고 이 상황에서 접속이 되어야 합니다.

재유니즘님의 프로필 이미지
재유니즘
질문자

빠른 답변 감사합니다!!

빠르게 답변 주셨는데 제가 개인업무로 인해 늦게 확인했습니다 ㅠㅠ

또한 5강부터 다시 강의를 듣기도했습니다.

 

그리고 보내주신 도메인에 직접 들어가보고 입력도해보고

Gemini 에 물어보기도하고했지만

다음과 같은 사진으로 나오더라구요..

 

캡2323처.JPG.webp

 

이런 경우는 어떡해 해야할까요?

 

그냥 다 삭제해보고 처음부터 다시 해볼까요?

남박사님의 프로필 이미지
남박사
지식공유자

그게 크롬 정책으로 인해서 해당 도메인 최초 접속시 로그인 페이지(여기서는 n8n 로그인)인 경우 이를 위험한 사이트나 피싱사이트로 분류하는 이상한 정책이 있습니다. 그래서 해당 경고를 해제해 달라고 요청 해야 합니다. 삭제 하시면 안되구요. 이는 크롬 브라우저가 해당 사이트를 위험한 사이트로 등록하고 판단한것이라서 삭제한다고 해결되지 않는 문제 입니다.

 

https://safebrowsing.google.com/safebrowsing/report_error/?hl=ko

 

위 링크를 통해 신청서를 작성하여 안전한 사이트로 해제를 요청하시고 해제가 되기 전까지 그 전에 일단은 크롬 브라우저에서 게스트 모드로 사용해보시거나 파이어폭스 같은 다른 브라우저를 사용하시면 접속이 될것 입니다.

재유니즘님의 프로필 이미지
재유니즘
질문자

남박사님 감사합니다!
Edge 로 들어가서 해당 오류메세지 안뜨는 것 확인했습니다!

빠른 답변과 섬세한 피드백 너무 감사드립니다!
7강으로 너무 진도를 나가고싶었습니다 ㅎㅎ

열심히 배워보도록하겠습니다!

남박사님의 프로필 이미지
남박사
지식공유자

넵 다행입니다. 그런데 꼭 그거 구글 링크 들어가셔서 안전 사이트 해제 요청하셔야 합니다. 꼭 해야 하는 작업입니다. 저 같은 경우에는 한 일주일 걸렸던거 같은데 미리 해놓으세요.

재유니즘님의 프로필 이미지
재유니즘
질문자

넵! 사이트 링크주셔서 바로 진행했습니다!

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 재유니즘님.

n8n 플랫폼에서 ‘Connection lost’ 문제가 발생하고 있어 고민이시군요. 이 문제는 주로 네트워크 연결, 프록시 설정 또는 서버 설정 오류로 인해 발생할 수 있습니다. 아래에서 몇 가지 확인해야 할 사항을 안내드리겠습니다.

  1. DNS 및 도메인 설정 확인:

    • aiproject.kr 도메인이 올바른 IP 주소로 설정되었는지 검토하세요. 이를 위해 DNS 설정을 확인하고 테스트 도구를 사용하여 DNS가 올바르게 설정되었는지 확인해보세요.
  2. 포트 및 방화벽 설정 확인:

    • 5678 포트가 방화벽이나 보안 소프트웨어에 의해 차단되지 않았는지 확인하세요. 방화벽에서 해당 포트가 허용되어야 합니다.
  3. 프록시 설정 검토:

    • 프록시 설정에서 proxy_set_header 등이 올바르게 설정되었는지 확인하세요. 특히 UpgradeConnection 헤더는 웹소켓 연결을 지원하는 데 중요합니다.
    • 프록시 서버의 로그를 체크하여, 설정 적용이 제대로 되었는지 확인도 필요합니다.
  4. n8n 설정 및 로그 확인:

    • n8n 자체의 설정 파일에서 도메인과 관련된 설정이 올바른지 확인하고, n8n의 로그에서 오류 메시지가 없는지 확인합니다.
  5. 도커 컨테이너 확인:

    • n8n이 도커 컨테이너에서 실행 중이라면, docker ps로 컨테이너 상태를 확인하고, 컨테이너의 로그를 통해 connection lost의 구체적인 원인을 파악해보세요.
  6. SSL 설정 확인:

    • n8n과 프록시 서버 간의 SSL 설정이 필요한지 검토하세요. HTTPS를 사용할 경우 인증서가 제대로 설정되어 있어야 합니다.

다음은 비슷한 문제 해결에 대한 추가 정보가 있는 유사한 질문과 답변입니다:

제가 제안한 해결 방법이 문제 해결에 도움이 되었기를 바라며, 추가적인 도움이 필요하시면 언제든지 문의해 주세요. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

재유니즘님의 프로필 이미지
재유니즘

작성한 질문수

질문하기