여러 셀프호스팅 서비스를 운영하다 보면 포트 번호가 서비스마다 제각각이라, 192.168.0.10:8080, :3001, :9443처럼 숫자를 외우고 다녀야 하는 상황이 생겨요. nextcloud.내도메인.com처럼 Nextcloud나 Jellyfin/Plex 같은 서비스를 서브도메인으로 깔끔하게 정리하고, HTTPS 인증서까지 자동으로 관리해주는 게 리버스 프록시의 역할이에요. 그렇다면 대표적인 두 도구, Nginx Proxy Manager와 Traefik 중 리버스 프록시로 뭐가 더 나을까요?
Nginx Proxy Manager: 그래픽 인터페이스의 편리함
NPM은 이름 그대로 Nginx를 기반으로 하지만, 설정 파일을 직접 편집하는 대신 웹 대시보드에서 클릭 몇 번으로 프록시 호스트를 등록할 수 있게 만든 도구예요. 도메인을 입력하고, 어느 컨테이너(또는 내부 IP)로 트래픽을 전달할지 지정하고, “Request a new SSL Certificate” 체크박스만 누르면 Let’s Encrypt 인증서까지 자동으로 발급 및 갱신돼요.
Nginx 설정 문법을 전혀 몰라도 리버스 프록시를 구성할 수 있다는 점이 가장 큰 강점이에요. 셀프호스팅을 처음 시작하는 사용자에게는 이 진입 장벽 낮은 경험이 결정적인 차이를 만들어요.
Traefik: 자동 서비스 발견의 힘
Traefik은 접근 방식이 근본적으로 달라요. 별도의 대시보드에서 수동으로 설정을 입력하는 대신, Docker 컨테이너의 레이블(label)을 읽어서 자동으로 라우팅 규칙을 구성하거든요. 즉 새로운 서비스를 추가할 때, 해당 서비스의 Compose 파일에 레이블만 몇 줄 추가하면 Traefik이 자동으로 인식하고 라우팅과 인증서 발급까지 처리해요.
services:
myapp:
image: myapp:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.myapp.rule=Host(`myapp.example.com`)"
- "traefik.http.routers.myapp.tls.certresolver=letsencrypt"
서비스 개수가 많아질수록, 이렇게 각 서비스의 Docker Compose 파일 안에 라우팅 규칙이 함께 선언되는 방식은 관리 측면에서 확실한 이점을 줘요. 별도의 프록시 대시보드를 오가며 설정할 필요 없이 서비스를 추가/제거하면 라우팅도 자동으로 따라오고, forwardAuth 미들웨어로 Authentik 같은 SSO와도 자연스럽게 연동돼요.
두 도구 비교
두 도구의 핵심 차이는 설정 방식(GUI vs 레이블)과 대규모 확장성에서 갈려요.
| 항목 | Nginx Proxy Manager | Traefik |
|---|---|---|
| 설정 방식 | 웹 대시보드 GUI | Docker 레이블 기반 자동 발견 |
| 학습 곡선 | 낮음 | 중간(레이블 문법 학습 필요) |
| 신규 서비스 추가 | 대시보드에서 수동 등록 | Compose 파일에 레이블만 추가 |
| SSL 인증서 자동화 | 지원 (클릭 몇 번) | 지원 (설정 후 완전 자동) |
| 대규모 서비스 확장성 | 서비스 많아지면 관리 부담 증가 | 서비스가 많을수록 강점 발휘 |
| 커뮤니티/생태계 | 홈서버 커뮤니티에서 매우 대중적 | 프로덕션 환경에서도 널리 사용 |
어떤 것을 선택해야 할까
선택은 결국 서비스 개수와 인프라를 코드로 관리하고 싶은지 여부에 달려 있어요.
- 서비스가 5개 이하로 적고 빠르게 구축하고 싶다면: 설정 파일 문법 없이 바로 시작할 수 있는 Nginx Proxy Manager
- 서비스를 계속 늘려나갈 계획이라면: Docker Compose 구조에 이미 익숙하다면 Traefik
- 팀 단위로 여러 사람이 함께 관리해야 한다면: 대시보드를 통한 시각적 확인이 중요하니 Nginx Proxy Manager
- 인프라를 코드로 관리(Infrastructure as Code)하고 싶다면: Traefik
실무에서 함께 고려할 것
두 도구 모두 Cloudflare를 DNS 제공자로 사용하면, 포트포워딩 없이도 Cloudflare Tunnel과 연동해 외부에 서버의 공인 IP를 노출하지 않고 서비스를 게시할 수 있어요. 홈 네트워크의 공인 IP를 숨기고 싶다면 이 조합을 함께 고려하는 게 좋아요.
결론
Nginx Proxy Manager는 “빠르게 시작하고 싶다”는 요구에, Traefik은 “서비스가 계속 늘어날 것을 대비해 자동화된 구조를 갖추고 싶다”는 요구에 각각 최적화돼 있어요. 처음 한두 개 서비스로 시작한다면 NPM으로 충분하고, 서비스가 10개를 넘어가는 시점에 Traefik으로 전환을 고려해볼 만해요.
자주 묻는 질문
Q1. Nginx 설정 문법을 몰라도 Nginx Proxy Manager를 쓸 수 있나요?
네, 웹 대시보드에서 도메인과 전달할 컨테이너만 지정하면 되고 SSL 인증서도 체크박스 하나로 자동 발급돼서 Nginx 설정 문법을 전혀 몰라도 구성할 수 있어요.
Q2. Traefik은 왜 서비스가 많아질수록 유리한가요?
새 서비스를 추가할 때 Compose 파일에 레이블 몇 줄만 추가하면 자동으로 라우팅과 인증서 발급까지 처리되기 때문이에요. 별도 대시보드를 오가며 수동 등록할 필요가 없어서 서비스 개수가 늘어날수록 관리 부담이 줄어요.
Q3. 둘 다 무료 SSL 인증서를 지원하나요?
네, 둘 다 Let's Encrypt 연동으로 SSL 인증서를 자동 발급하고 갱신해줘요.
Q4. 홈 네트워크의 공인 IP를 숨기고 싶으면 어떻게 하나요?
Cloudflare를 DNS 제공자로 쓰고 Cloudflare Tunnel과 연동하면, 포트포워딩 없이도 공인 IP를 노출하지 않고 서비스를 게시할 수 있어요.
Q5. 서비스 몇 개부터 Traefik으로 넘어가는 게 좋나요?
명확한 기준은 없지만, 서비스가 10개를 넘어가는 시점부터 관리 부담이 커지므로 그때 Traefik 전환을 고려해볼 만해요.
댓글
첫 번째 댓글을 남겨보세요!
Mealie로 레시피와 장보기 목록 셀프호스팅하기
여기저기 저장해둔 요리 레시피가 흩어져 사라지는 문제를, Mealie로 직접 운영하는 레시피 관리 서버와 자동 장보기 목록 기능으로 해결하는 방법을 소개합니다.
MealieRestic vs Duplicati: 홈서버 백업 도구 비교
명령줄 기반의 가벼운 Restic과 웹 UI를 갖춘 Duplicati, 홈서버 데이터를 클라우드나 NAS로 안전하게 백업할 때 두 도구가 어떻게 다르고 어떤 상황에 맞는지 비교합니다.
ResticWireGuard로 직접 VPN 서버 구축하기
커널에 통합될 만큼 가볍고 빠른 WireGuard 프로토콜의 구조와, 집 서버에 직접 VPN을 구축해 외부에서 홈네트워크 전체에 안전하게 접속하는 방법을 정리합니다.
WireGuard