n8n 로컬 서버 외부 접속 설정 가이드

n8n 서버를 외부에서 접속 가능하게 하려면, 내부 네트워크의 로컬 서버를 인터넷을 통해 접근할 수 있도록 설정해야 합니다. 다음은 단계별로 이를 구현하는 방법입니다.


1. 공인 IP 주소 확인

외부에서 접속하려면 공인 IP 주소를 알아야 합니다.

  1. 공인 IP 확인:
    • WhatIsMyIP 또는 ISP에서 제공된 IP 주소를 확인합니다.
    • 예: 123.45.67.89
  2. 동적 IP 문제 해결 (옵션):
    • ISP가 동적 IP를 제공하는 경우, IP가 변경될 수 있습니다.
    • **DDNS (Dynamic DNS)**를 설정해 고정된 도메인 이름으로 접근 가능:
      • 예: n8n.mydomain.ddns.net

2. 라우터에서 포트 포워딩 설정

외부 요청을 n8n 서버로 전달하기 위해 공유기(라우터)에서 포트 포워딩을 설정합니다.

  1. 포트 포워딩 규칙 추가:
    • 라우터의 관리자 페이지에 접속 (예: 192.168.0.1).
    • 포트 포워딩 항목으로 이동:
      • 외부 포트: 5678 (또는 원하는 포트)
      • 내부 포트: 5678
      • 내부 IP 주소: 192.168.1.50
    • 예: 192.168.1.50
외부 포트 내부 IP 내부 포트
5678 192.168.1.50 5678
  1. 테스트: 외부 네트워크에서 브라우저로 접속:
    1. n8n 서버 내부 IP 확인:
ip addr
http://123.45.67.89:5678

3. HTTPS 보안 연결

보안 강화를 위해 HTTPS를 설정하세요.

1) Let’s Encrypt로 SSL 설정

  1. HTTPS로 접속:

외부 브라우저에서:

https://your-domain.com

SSL 인증서 설치:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com

Nginx 리버스 프록시 구성:
/etc/nginx/sites-available/n8n 생성:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:5678;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Nginx 설치:

sudo apt install nginx

4. 기본 인증 활성화

외부 접근 시 보안을 강화하려면 n8n 기본 인증을 활성화합니다.

  1. 테스트:
    • 브라우저로 접속 시, 사용자 이름과 비밀번호를 요구합니다.
    • 예:
      • 사용자 이름: admin
      • 비밀번호: securepassword

Docker 실행 시:

docker run -d \
    --name n8n \
    -p 5678:5678 \
    -e N8N_BASIC_AUTH_ACTIVE=true \
    -e N8N_BASIC_AUTH_USER=admin \
    -e N8N_BASIC_AUTH_PASSWORD=securepassword \
    n8nio/n8n

환경 변수 설정:
n8n 실행 전에 기본 인증 활성화:

export N8N_BASIC_AUTH_ACTIVE=true
export N8N_BASIC_AUTH_USER=admin
export N8N_BASIC_AUTH_PASSWORD=securepassword
n8n

5. 방화벽 설정

외부 접근을 허용하는 동안 보안을 유지하려면 방화벽 규칙을 설정하세요.

  1. 필요한 포트만 열기:

상태 확인:

sudo ufw status

n8n 및 SSH 접속용 포트만 허용:

sudo ufw allow 22/tcp
sudo ufw allow 5678/tcp

UFW 활성화:

sudo ufw allow 5678/tcp
sudo ufw enable

6. DDNS를 통한 도메인 기반 접근 (옵션)

공인 IP가 자주 변경되는 경우, DDNS를 설정하여 안정적인 도메인 기반 접근을 구현하세요.

  1. DDNS 서비스 가입:
  2. 라우터에 DDNS 설정 추가:
    • DDNS 로그인 정보 입력
    • 라우터가 IP를 자동으로 업데이트

접속 테스트:

http://n8n.myddns.net:5678

요약

외부에서 n8n 서버에 접속하려면:

  1. 공인 IP 또는 DDNS 주소 확보
  2. 라우터에서 포트 포워딩 설정
  3. HTTPS 및 기본 인증 활성화로 보안 강화
  4. 방화벽 설정으로 불필요한 접근 차단

Read more

n8n 로컬 서버 설치 및 운영 가이드

n8n을 로컬 서버로 설정하려는 경우, 워크플로 자동화 도구를 효율적으로 설치하고 운영하기 위해 아래 가이드를 따라 진행할 수 있습니다. n8n은 Node.js 기반의 오픈소스 자동화 도구로, 다양한 API와 시스템을 연결하여 작업을 자동화할 수 있습니다. 1. n8n 로컬 서버 설치 1) 사전 준비 n8n을 실행하기 전에 필요한 환경을 설정합니다: * 운영 체제: Linux(

By Tom Cha

Ghost 이미지 최적화 및 환경 설정 file

1. Ghost에서 이미지 크기 및 최적화 조정 방법 Ghost는 이미지를 자동으로 최적화하지만, 필요에 따라 사용자 정의 조정을 통해 성능과 사용자 경험을 개선할 수 있습니다. 이 문서에서는 이미지 크기 조정 및 최적화 방법을 단계별로 설명합니다. 1.1 이미지 최적화 기본 설정 Ghost는 config.production.json 파일에서 이미지 최적화를 설정할 수 있습니다.

By Tom Cha

Ghost Email 설정 가이드

다음은 Ghost에 이메일 발송 기능을 설정하는 방법을 안내합니다. 이메일 발송은 사용자 가입 확인, 비밀번호 재설정 등과 같은 알림을 처리하는 데 필수적입니다. 이메일을 자체 호스팅을 하기에는 여러 문제가 발생할 수 있기에 여기서는 fastcomet이라는 호스팅업체에서 호스팅할 때 제공되는 이메일을 사용한다는 가정하에 작성하였습니다. (Ghost는 호스팅업체가 아닌 자체 서버에서 작동하는 것 가정) 1. SMTP

By Tom Cha