模組命名空間

Caddy 客端模組是以泛型 interface{}any 類型載入的。為了讓主端模組能夠使用它們,載入的客端模組通常會先被斷言(type-asserted)為一個已知類型。本頁面描述了所有標準模組從模組命名空間到 Go 類型的映射。

非標準模組命名空間的文檔可以在定義它們的主端模組文檔中找到。

命名空間 預期的介面類型 描述 備註
caddy.App Caddy app
admin.api caddy.AdminRouter

caddy.AdminHandler
為管理員註冊 HTTP 路由

HTTP handler 中介軟體
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 challenge solver
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 handlers
http.ip_sources caddyhttp.IPRangeSource 受信任代理的 IP 範圍
http.matchers caddyhttp.RequestMatcher

caddyhttp.RequestMatcherWithError

caddyhttp.CELLibraryProducer
請求 matcher(請改用 WithError)

具有錯誤短路的請求 matcher

支援 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 動態 upstream 來源 ⚠️ 實驗性
tls.ca_pool.source caddytls.CA 受信任根證書來源
tls.certificates caddytls.CertificateLoader TLS 證書來源
tls.client_auth caddytls.ClientCertificateVerifier 驗證用戶端證書
tls.ech.publishers caddytls.ECHPublisher 發佈加密用戶端 Hello (ECH) 配置 ⚠️ 實驗性
tls.get_certificate certmagic.Manager TLS 證書管理器 ⚠️ 實驗性
tls.handshake_match caddytls.ConnectionMatcher TLS 連線 matcher
tls.issuance certmagic.Issuer TLS 證書頒發者
tls.leaf_cert_loader caddytls.LeafCertificateLoader 載入受信任的分葉證書
tls.permission caddytls.OnDemandPermission 是否為網域獲取證書 ⚠️ 實驗性
tls.stek caddytls.STEKProvider TLS session ticket key 來源
tls.context caddytls.HandshakeContext 攔截 GetCertificate 上下文 ⚠️ 實驗性

標記為「實驗性」的命名空間可能會發生變化。(請使用它們進行開發,以便我們最終確定其介面!)