본문 바로가기
WIKI 기술 지식 베이스

모듈 네임스페이스

원문 보기 위키 갱신

모듈 네임스페이스 (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)