리버스프록시로 사용하능한 오픈소스 웹서버 Caddy
안녕하세요. 달소입니다.
오늘 소개해드릴 오픈소스프로젝트는 많은분들이 아실만한 "Caddy" 입니다! (이전에도 소개해드린적이있습니다 ㅎ)

리버스프록시에 대해서는 아래글을 읽고오시면 좋습니다~
역방향 Reverse Proxy 작동하는 방법[서버 구축(Self-Hosted)] 달소 2022.05.06안녕하세요. 달소입니다. 이번글은 홈서버에서 가장 유용하게 사용할수 있는 팁이자 이해...
대표적인 Reverse Proxy라면 개발이 더디지만 접근성이 가장 좋은 Nginx Proxy Manager
docker를 좀더 활용하실줄알고 난이도가 조금있지만 역시 인기있는 Trafik
그리고 적당한 난이도를 가지고있지만 활발하게 개발되고있는 Caddy 정도가있습니다.
nginx,apache등은 논외로 ㅎ...
뭐 아무튼 역할은 다들 대동소이하지만 Caddy의 경우 경량형으로 만들어졌고 깃허브에서 48000개의 스타를 가지고있는 유명한 프로젝트입니다.
꼭 별의개수가 프로젝트의 고점을 판단해주지는않지만 커밋개수와 기여자가많다면 활발하게 개발되고있고 버그나 이슈가 발생했을때 빠르게 개선되기때문에 개인적으로는 중요하다고 판단하고있습니다.
Caddy란?
Caddy에 대한 설명은 아래와같습니다.
Caddy Server에 대해서 알려주세요
Caddy Server는 Go 언어로 작성된 오픈 소스 웹 서버입니다. Caddy는 간단하고 사용하기 쉬운 구성을 제공하며, HTTPS를 기본으로 지원하고 Let's Encrypt와 같은 인증서 발급 및 갱신을 자동으로 처리합니다.
Caddy는 다양한 기능을 제공합니다. 몇 가지 중요한 기능은 다음과 같습니다:
1. 자동 HTTPS: Caddy는 기본적으로 HTTPS를 사용하며, Let's Encrypt와 같은 인증 기관에서 인증서를 자동으로 발급하고 갱신합니다. 이를 통해 웹 사이트의 보안을 강화할 수 있습니다.
2. 가상 호스팅: Caddy는 가상 호스팅을 지원하여 여러 도메인을 단일 서버에서 호스팅할 수 있습니다. 각 도메인에 대해 별도의 설정을 제공하여 사용자 정의 동작을 구성할 수 있습니다.
3. 리버스 프록시: Caddy는 리버스 프록시를 사용하여 다른 서버로의 요청을 전달할 수 있습니다. 이를 통해 로드 밸런싱, 캐싱, 보안 등 다양한 기능을 구현할 수 있습니다.
4. 플러그인: Caddy는 플러그인 아키텍처를 제공하여 사용자가 원하는 기능을 추가할 수 있습니다. 다양한 플러그인이 이미 개발되어 있으며, 사용자 정의 플러그인을 작성할 수도 있습니다.
Caddy는 간단한 구성 파일을 사용하여 서버를 설정합니다. 이를 통해 사용자는 웹 사이트의 동작을 쉽게 구성할 수 있습니다. 또한 Caddy는 다양한 플랫폼에서 실행할 수 있으며, 가벼운 리소스 요구 사항을 가지고 있어 효율적으로 동작합니다.
Caddy Server는 사용하기 쉽고 강력한 웹 서버로 인기가 있으며, 많은 개발자와 운영자에게 권장되는 선택지입니다.

특징
- Caddyfile 을 통한 손쉬운 구성
- 기본 JSON 구성을 통한 강력한 구성
- JSON API를 사용한 동적 구성
- JSON이 마음에 들지 않으면 어댑터 구성
- 기본적으로 자동 HTTPS
- 공개 이름을 위한 ZeroSSL 및 Let's Encrypt
- 내부 이름 및 IP를 위한 완전 관리형 로컬 CA
- 클러스터의 다른 Caddy 인스턴스와 조정할 수 있습니다.
- 다중 발급자 대체
- TLS/OCSP/인증서 관련 문제로 인해 다른 서버가 다운되더라도 유지
- 수조 건의 요청을 처리하고 수백만 개의 TLS 인증서를 관리한 후 프로덕션 준비 완료
- 프로덕션에서 입증된 대로 수십만 개의 사이트로 확장
- 기본적으로 HTTP/1.1, HTTP/2 및 HTTP/3 모두 지원됨
- 확장성이 뛰어난 모듈식 아키텍처를 통해 Caddy는 팽창 없이 무엇이든 할 수 있습니다.
- 외부 종속성 (libc도 아님) 없이 어디에서나 실행됩니다.
- 다른 서버보다 메모리 안전성이 더 높은 언어인 Go로 작성
- 실제로 사용하는 재미
- 훨씬 더 많은 것을 발견 할 수 있습니다.
홈페이지 / 깃허브
Caddy 2 - The Ultimate Server with Automatic HTTPScaddyserver.comCaddy is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go GitHub - caddyserver/caddy: Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPSgithub.comFast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS - GitHub - caddyserver/caddy: Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
문서
Welcome - Caddy Documentationcaddyserver.comCaddy is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go