模块命名空间
Caddy 客户模块以通用的 interface{} 或 any 类型加载。为了使宿主模块能够使用它们,加载的客户模块通常会先断言为已知类型。本页描述了所有标准模块的模块命名空间到 Go 类型的映射。
非标准模块命名空间的文档可以在定义它们的宿主模块的文档中找到。
| Namespace | Expected Interface Type | Description | Notes |
|---|---|---|---|
caddy.App |
Caddy 应用 | ||
| admin.api | caddy.AdminRoutercaddy.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.Comparercaddyauth.Hasher |
密码比较器 密码哈希器 |
|
| http.authentication.providers | caddyauth.Authenticator |
HTTP 认证提供者 | |
| http.encoders | encode.Encodingencode.Encoder |
创建编码器(压缩) 对数据流进行编码 |
|
| http.handlers | caddyhttp.MiddlewareHandler |
HTTP 处理器 | |
| http.ip_sources | caddyhttp.IPRangeSource |
受信任代理的 IP 范围 | |
| http.matchers | caddyhttp.RequestMatchercaddyhttp.CELLibraryProducer |
HTTP 请求匹配器 支持 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 |
发布加密 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 会话票据密钥来源 |
标注为“实验性”的命名空间可能会发生变化。(请针对它们进行开发,以便我们最终确定其接口!)