모듈 네임스페이스 (Module Namespaces)
출처: Caddy 공식 문서
본문
Caddy의 게스트 모듈은 일반적으로 interface{} 또는 any 타입으로 로드돼요. 호스트 모듈이 이들을 사용하려면 보통 로드된 게스트 모듈을 먼저 알려진 타입으로 타입 단언(type-assert)해요. 이 페이지는 모든 표준 모듈에 대해 모듈 네임스페이스에서 Go 타입으로의 매핑을 설명해요.
비표준 모듈 네임스페이스에 대한 문서는 그 네임스페이스를 정의하는 호스트 모듈의 문서에서 찾을 수 있어요.
이 표를 읽는 한 가지 방법은, "여러분의 모듈이 에 있다면, 으로 컴파일되어야 한다"는 거예요.
| 네임스페이스 |
기대되는 인터페이스 타입 |
설명 |
참고 |
| admin.api |
caddy.AdminRouter | caddy.AdminHandler |
관리용 HTTP 라우트 등록 |
HTTP 핸들러 미들웨어 |
| caddy.config_loaders |
caddy.ConfigLoader |
설정 로드 |
⚠️ 실험적 |
| caddy.fs |
fs.FS |
가상 파일 시스템 |
⚠️ 실험적 |
| caddy.listeners |
caddy.ListenerWrapper |
네트워크 리스너 래핑 |
|
| caddy.logging.encoders |
zapcore.Encoder |
로그 항목 인코더 |
|
| caddy.logging.encoders.filter |
logging.LogFieldFilter |
로그 필드 필터 |
|
| caddy.logging.writers |
caddy.WriterOpener |
로그 작성기 |
|
| caddy.storage |
caddy.StorageConverter |
저장소 백엔드 |
|
| dns.providers |
certmagic.DNSProvider |
DNS 챌린지 해결사 |
|
| events.handlers |
caddyevents.Handler |
이벤트 핸들러 |
⚠️ 실험적 |
| http.authentication.hashes |
caddyauth.Comparer | caddyauth.Hasher |
비밀번호 비교기 | 비밀번호 해셔 |
|
| http.authentication.providers |
caddyauth.Authenticator |
HTTP 인증 제공자 |
|
| http.encoders |
encode.Encoding | encode.Encoder |
인코더(압축) 생성 | 데이터 스트림 인코딩 |
|
| http.handlers |
caddyhttp.MiddlewareHandler |
HTTP 핸들러 |
|
| http.ip_sources |
caddyhttp.IPRangeSource |
신뢰할 수 있는 프록시를 위한 IP 범위 |
|
| http.matchers |
caddyhttp.RequestMatcher | caddyhttp.RequestMatcherWithError | caddyhttp.CELLibraryProducer |
요청 매처(대신 WithError 사용) | 오류 단락(short-circuit)이 있는 요청 매처 | CEL 표현식 지원 |
⚠️ 더 이상 사용 안 함 | (선택) |
| http.precompressed |
encode.Precompressed |
지원되는 사전압축 매핑 |
|
| http.reverse_proxy.circuit_breakers |
reverseproxy.CircuitBreaker |
리버스 프록시 서킷 브레이커 |
|
| http.reverse_proxy.selection_policies |
reverseproxy.Selector |
로드 밸런싱 선택 정책 |
|
| http.reverse_proxy.transport |
http.RoundTripper |
HTTP 리버스 프록시 전송 |
|
| http.reverse_proxy.upstreams |
reverseproxy.UpstreamSource |
동적 업스트림 소스 |
⚠️ 실험적 |
| tls.ca_pool.source |
caddytls.CA |
신뢰할 수 있는 루트 인증서 소스 |
|
| tls.certificates |
caddytls.CertificateLoader |
TLS 인증서 소스 |
|
| tls.client_auth |
caddytls.ClientCertificateVerifier |
클라이언트 인증서 검증 |
|
| tls.ech.publishers |
caddytls.ECHPublisher |
Encrypted ClientHello (ECH) 설정 게시 |
⚠️ 실험적 |
| tls.get_certificate |
certmagic.Manager |
TLS 인증서 관리자 |
⚠️ 실험적 |
| tls.handshake_match |
caddytls.ConnectionMatcher |
TLS 연결 매처 |
|
| tls.issuance |
certmagic.Issuer |
TLS 인증서 발급자 |
|
| tls.leaf_cert_loader |
caddytls.LeafCertificateLoader |
신뢰할 수 있는 리프 인증서 로드 |
|
| tls.permission |
caddytls.OnDemandPermission |
도메인에 대한 인증서 획득 여부 |
⚠️ 실험적 |
| tls.stek |
caddytls.STEKProvider |
TLS 세션 티켓 키 소스 |
|
| tls.context |
caddytls.HandshakeContext |
GetCertificate 컨텍스트 가로채기 |
⚠️ 실험적 |
"실험적"으로 표시된 네임스페이스는 변경될 수 있어요. (인터페이스를 확정할 수 있도록 함께 개발해 주세요!)
더 알아보기 (Learn more)