ACME#
允许使用 ACME 协议 为:samp:stream 上下文中定义的服务器自动获取证书。
在:ref:从源代码构建<sourcebuild> 时,
该模块默认不会被构建;必须使用
构建参数
--with-stream_acme_module
(同时需要:option:!--with-http_acme_module )
来启用它。
在来自:ref:我们的仓库<install-packages> 的软件包和镜像中,
该模块已包含在构建中。
备注
为了正确运行,stream
块
必须位于:samp:http 块之后。
这是因为stream模块使用在HTTP配置解析期间
创建的客户端定义。
配置示例#
有关配置示例和设置说明,请参阅 流模块中的ACME 部分。
指令#
acme#
对于在所有引用HTTP模块中给定`name`的:ref:ACME客户端<acme_client> 的 所有:ref:s_server 块中 通过:ref:s_server_name 指令指定的所有域名, 将获取单个证书; 如果:samp:server_name 配置发生变化, 证书将被更新以适应这些变化。
在每次Angie启动时,会为所有缺少有效证书的域名请求新证书。 可能的原因包括证书过期、 文件丢失或无法读取, 以及证书设置的变更。
备注
目前,通过正则表达式指定的域名 不受支持,将被跳过。
通配符域名仅在:samp:acme_client 中的
challenge=dns
模式下支持。
可以多次指定此指令 以加载不同类型的证书,例如RSA和ECDSA:
server {
listen 12345 ssl;
server_name example.com www.example.com;
ssl_certificate $acme_cert_rsa;
ssl_certificate_key $acme_cert_key_rsa;
ssl_certificate $acme_cert_ecdsa;
ssl_certificate_key $acme_cert_key_ecdsa;
acme rsa;
acme ecdsa;
}
内嵌变量#
$acme_cert_<name>
#
具有此`name`的客户端获取的最后一个证书文件(如果有)的内容。
$acme_cert_key_<name>
#
具有此`name`的客户端使用的证书密钥文件的内容。
备注
证书文件仅在ACME客户端至少获取了一个证书后才可用, 而密钥文件在启动后立即可用。