n8n 로컬 서버 외부 접속 설정 가이드
n8n 서버를 외부에서 접속 가능하게 하려면, 내부 네트워크의 로컬 서버를 인터넷을 통해 접근할 수 있도록 설정해야 합니다. 다음은 단계별로 이를 구현하는 방법입니다.
1. 공인 IP 주소 확인
외부에서 접속하려면 공인 IP 주소를 알아야 합니다.
- 공인 IP 확인:
- WhatIsMyIP 또는 ISP에서 제공된 IP 주소를 확인합니다.
- 예:
123.45.67.89
- 동적 IP 문제 해결 (옵션):
- ISP가 동적 IP를 제공하는 경우, IP가 변경될 수 있습니다.
- **DDNS (Dynamic DNS)**를 설정해 고정된 도메인 이름으로 접근 가능:
- 예:
n8n.mydomain.ddns.net
- 예:
2. 라우터에서 포트 포워딩 설정
외부 요청을 n8n 서버로 전달하기 위해 공유기(라우터)에서 포트 포워딩을 설정합니다.
- 포트 포워딩 규칙 추가:
- 라우터의 관리자 페이지에 접속 (예:
192.168.0.1). - 포트 포워딩 항목으로 이동:
- 외부 포트:
5678(또는 원하는 포트) - 내부 포트:
5678 - 내부 IP 주소:
192.168.1.50
- 외부 포트:
- 예:
192.168.1.50
- 라우터의 관리자 페이지에 접속 (예:
| 외부 포트 | 내부 IP | 내부 포트 |
|---|---|---|
| 5678 | 192.168.1.50 | 5678 |
- 테스트: 외부 네트워크에서 브라우저로 접속:
- n8n 서버 내부 IP 확인:
ip addr
http://123.45.67.89:5678
3. HTTPS 보안 연결
보안 강화를 위해 HTTPS를 설정하세요.
1) Let’s Encrypt로 SSL 설정
- 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 기본 인증을 활성화합니다.
- 테스트:
- 브라우저로 접속 시, 사용자 이름과 비밀번호를 요구합니다.
- 예:
- 사용자 이름:
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. 방화벽 설정
외부 접근을 허용하는 동안 보안을 유지하려면 방화벽 규칙을 설정하세요.
- 필요한 포트만 열기:
상태 확인:
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를 설정하여 안정적인 도메인 기반 접근을 구현하세요.
- DDNS 서비스 가입:
- No-IP(https://www.noip.com/) 또는 DynDNS와 같은 서비스를 사용
- 예:
n8n.myddns.net
- 라우터에 DDNS 설정 추가:
- DDNS 로그인 정보 입력
- 라우터가 IP를 자동으로 업데이트
접속 테스트:
http://n8n.myddns.net:5678
요약
외부에서 n8n 서버에 접속하려면:
- 공인 IP 또는 DDNS 주소 확보
- 라우터에서 포트 포워딩 설정
- HTTPS 및 기본 인증 활성화로 보안 강화
- 방화벽 설정으로 불필요한 접근 차단