ZimaOS에서 리버스 프록시를 사용하는 것은 가능합니다. 이 소스에서 실제로 제한되는 부분은 Docker 네트워킹 자체가 아니라 GUI로 설치한 앱을 둘러싼 편의성 계층입니다. Traefik은 각 서비스에 필요한 라벨을 지정하고, 예측 가능한 Compose 서비스 이름을 사용하며, Docker 네트워크를 공유할 때 가장 잘 작동합니다. 이러한 설정은 간소화된 GUI 양식으로 앱을 설치했을 때보다 Compose에서 스택을 직접 작성할 때 훨씬 쉽게 관리할 수 있습니다.
따라서 원문 답변에서는 대부분의 GUI 중심 ZimaOS 사용자에게 Nginx Proxy Manager를, 관련 애플리케이션을 Compose로 배포할 의향이 있는 사용자에게 Traefik을 권장합니다. 이는 커뮤니티의 안내이며, IceWhale의 공식 리버스 프록시 아키텍처가 아닙니다.
GUI로 설치한 앱에서 Traefik이 불편한 이유
Traefik의 가장 강력한 방식은 라우터, 서비스, 엔트리포인트, TLS 규칙과 같은 라벨을 통해 Docker를 자동으로 검색하는 것입니다. 앱 UI에서 임의의 라벨을 지정할 수 없거나 컨테이너 이름이 자동으로 생성되어 관리하기 어려우면 Traefik 자동화 기능의 상당 부분을 활용하기 어렵습니다.
Compose로 모든 설정을 다시 제어할 수 있습니다
현재 ZimaOS 1.7 App Store 2.0은 네이티브 YAML을 지원하며, ZimaOS 개발자 문서에서는 표준 Docker Compose를 런타임 구성 모델로 다룹니다. Compose를 사용하면 다음을 정의할 수 있습니다.
- 안정적인 서비스 이름
- 사용자 지정 네트워크
- Traefik 라벨
- 호스트 및 컨테이너 포트의 명시적 지정
- 볼륨 및 재시작 정책
현재 ZimaOS Compose 모델을 사용하세요.
Nginx Proxy Manager가 더 쉬운 이유
Nginx Proxy Manager에서는 모든 백엔드 애플리케이션에 검색용 라벨을 지정할 필요가 없습니다. 프록시 호스트를 수동으로 만들고 안정적인 컨테이너 이름/IP 또는 애플리케이션이 공개한 포트를 사용하는 ZimaOS 호스트를 대상으로 지정할 수 있습니다.
이러한 수동 구성은 규모가 커지면 덜 세련될 수 있지만, App Store 앱과 사용자 지정 Compose 스택이 섞인 환경에서는 더 쉽게 관리할 수 있습니다.
프록시를 시작하기 전에 80번 및 443번 포트를 계획하세요
ZimaOS 자체의 WebUI와 HTTPS 설정이 표준 웹 포트를 사용할 수 있습니다. 다른 프로세스가 이미 사용 중인 동일한 호스트 IP/포트에는 리버스 프록시를 바인딩할 수 없습니다.
ZimaOS WebUI를 다른 포트로 옮기거나, 다른 인터페이스/IP를 사용하거나, 프록시를 외부에서 다른 포트로 의도적으로 공개하세요.
공유 Docker 네트워크를 사용하면 불필요한 호스트 헤어핀 연결을 피할 수 있습니다
프록시와 대상 앱이 사용자 정의 Docker 네트워크를 공유한다면 서비스/컨테이너 이름과 내부 포트를 사용해 직접 프록시하세요. 이렇게 하면 트래픽이 Docker 내부에 머물러 공개된 호스트 포트에 의존하지 않습니다.
네트워크를 깔끔하게 제어할 수 없는 GUI 앱에서는 호스트 IP/공개 포트를 사용하는 프록시 방식도 계속 작동할 수 있습니다.
ZimaOS 대시보드 프록시는 별도로 결정해야 합니다
모든 프록시 호스트를 기본적으로 ZimaOS IP로 연결하지 마세요. ZimaOS WebUI 자체를 프록시하려는 경우에만 해당 업스트림을 사용하세요.
리버스 프록시를 사용해도 앱이 자동으로 안전해지는 것은 아닙니다
공개 HTTPS 인증서는 전송 과정만 암호화합니다. 민감한 앱에는 여전히 인증, MFA, 접근 제어 미들웨어, IP 제한 또는 VPN 전용 노출이 필요할 수 있습니다.
ZimaOS 리버스 프록시 FAQ
ZimaOS에서는 리버스 프록시를 사용할 수 없나요?
아니요. 원문 커뮤니티 답변에 따르면 사용 가능합니다. 주된 문제는 GUI 앱의 메타데이터, 네트워크 및 이미 사용 중인 포트와 관련된 불편함입니다.
GUI 앱이 섞인 환경에서는 어떤 옵션이 더 쉬운가요?
Nginx Proxy Manager가 일반적으로 더 쉽습니다. 앱별 Traefik 라벨 없이 수동으로 구성할 수 있기 때문입니다.
Traefik은 언제 가장 적합한가요?
앱 스택을 Compose로 배포하여 라벨, 서비스 이름 및 네트워크를 직접 제어할 수 있을 때 가장 적합합니다.
