pangolin
또다른 리버스 프록시인 pangolin 입니다. 리버스 프록시이면서 newt라는 wireguard 기반의 VPN 클라이언트가 포함되어 있어서 마치 cloudflare 의 터널 서비스를 연상하게 합니다. 내부적으로는 pangolin UI + traefik + newt 로 구성되어 있습니다.
- 리버스 프록시와 VPN의 결합 솔루션
- 기본적인 SSO 기능이 내장되어 있으며, 별도의 OIDC provider 등을 추가하여 인증할 수도 있다.
- CrowdSec 연동
pangolin 내부에 traefik 이 내장되어 있기 때문에 엄밀하게 말하면 pangolin은 traefik의 wrapper라고 해도 과언은 아니고, 더 가볍게 쓰고 싶다면 traefik을 쓰는게 정답일 수도 있습니다.
다만, Traefik과 몇가지 다른점이 있습니다.
- traefik의 경우 k8s, docker의 label 기반으로 자동으로 도메인으로 연결해주는 특징이 있어서 같은 서버에 있는 컨테이너를 도메인과 연결하기 쉽지만 다른 서버의 컨테이너는 따로 dynamic config 파일을 작성해야 하기 때문에 (file provider) 불편함이 있다.
- pangolin은 내부/외부 구분없이 config 추가해야 하지만, (traefik의 dynamic config 같은) 텍스트 파일 직접 편집이 아닌 UI로 해결이 가능하다.
개인적으로는 외부 VM에 리버스 프록시가 있고 여기에서 집의 로컬 네트워크 내의 서버로 연결해야 하기 때문에 거의 dynamic config를 작성해야 했기 때문에 이를 UI에서 처리할 수 있다면 더 편리한 것이 됩니다.
추가로 newt 가 vpn이므로 tailscale 이 필요 없습니다. ㅎ