• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mod_md

    描述:跨虚拟主机管理域,通过 ACME 协议进行证书配置
    状态:延期
    模块标识符:md_module
    源文件:mod_md.c
    兼容性:可在 version 2.4.30 及更高版本中使用

    摘要

    此模块管理一个或多个虚拟主机的域的 common properties。它的主要功能是使用 ACME 协议(RFC 8555)来自动化证书配置。模块将在到期前更新证书,以解决互联网服务中断的问题。有一些方法可以监视所有托管域和配置的状态,这些托管域和配置将在续订,到期和错误时运行您自己的通知命令。

    默认的 ACME 证书 Authority 是我们加密吧,但可以配置另一个支持该协议的 CA.

    这个模块是实验性的。相对于其他标准模块,其行为,指令和默认值在发布之间会发生更多变化。建议用户查阅“CHANGES”文件以获取可能的更新。

    简单的 configuration example:

    VirtualHost context 中的 TLS

    MDomain example.org
    
    <VirtualHost *:443>
        ServerName example.org
        DocumentRoot htdocs/a
    
        SSLEngine on
        # no certificates specification
    </VirtualHost>
    

    此设置将在服务器启动时联系我们加密吧以请求域的证书。如果 Let's Encrypt 可以验证域的所有权,则模块将检索证书及其链,将其存储在本地文件系统中(请参阅MDStoreDir),并在下次重新启动时将其提供给mod_ssl。

    当服务器已经运行时会发生这种情况。所有其他主机将继续像以前一样工作。虽然证书不可用,但对托管域的请求将以“503 Service Unavailable”回答。

    先决条件

    该模块也需要加载mod_watchdog。

    使用 Let's Encrypt 证书 sign-up 和续订要求您的服务器可以在 port 80(外部 http:))上访问。替代方法 port 443(https:)目前因安全原因而被禁用(状态来自 2018-01-14)。

    该模块将从 Let's Encrypt 提供的方法中选择。如果 LE 在将来的某一点决定再次 re-enable,mod_md 将在适当的时候使用它。

    但就目前而言,只有 port 80 变体可用(称为“http-01”)。只有当 LE 可以通过 port 80 到达您的服务器时 mod_md 才能为您工作。至少现在,至少。

    如果您不想再在 port 80 上提供任何网站,您可以将其保持打开状态,并将所有请求重定向到您的 https:网站。使用下面描述的MDRequireHttps以方便的方式执行此操作。这将继续回答来自 Let's Encrypt 的 http:challenge。

    通配符证书

    对于那些 version 2.x 的mod_md``. But they are not straight-forward. Let's Encrypt requires the dns-01 挑战验证,可以使用通配符证书。没有其他人认为足够好。

    这里的困难是 Apache 不能自己做到这一点。(这也是一种安全性好处,因为破坏 web 服务器或它的通信路径是dns-01保护的场景)。正如 name 所暗示的那样,dns-01要求您显示包含某些质询数据的域的某些特定 DNS 记录。所以你需要_write你的域名的 DNS 记录。

    如果您知道如何操作,可以将其与mod_md集成。假设您在/usr/bin/acme-setup-dns中配置了一个脚本,您可以使用以下命令配置 Apache:

    MDChallengeDns01 /usr/bin/acme-setup-dns
    

    和 Apache 将在需要 setup/teardown 域的 DNS 质询 record 时调用此脚本。

    假设您想要*.mydomain.com的证书,mod_md 将调用:

    /usr/bin/acme-setup-dns setup mydomain.com challenge-data
    # this needs to remove all existing DNS TXT records for 
    # _acme-challenge.mydomain.com and create a new one with 
    # content "challenge-data"
    

    然后它会打电话

    /usr/bin/acme-setup-dns teardown mydomain.com
    # this needs to remove all existing DNS TXT records for 
    # _acme-challenge.mydomain.com
    

    监控

    Apache 有一个用于监控的标准模块:mod_status。 mod_md 提供了一个部分,可以轻松监控您的域名。

    您会看到按字母顺序列出所有 MD,它们包含的域名,总体状态,到期时间和特定设置。这些设置显示您选择的续订时间(或默认值),使用的 CA 等。

    “续订”列将显示证书续订的活动和错误说明。这应该让人们更容易找到一切是否正常或出了什么问题。

    如果 MD 出现错误,也会在此处显示。这让您可以在不挖掘服务器日志的情况下评估问题。

    还有一个新的'md-status'处理程序可用于以 JSON 格式从'server-status'为您提供 MD 信息。您将其配置为

    <Location "/md-status">
      SetHandler md-status
    </Location>
    

    在你的服务器上。与“server-status”一样,您需要为此添加授权。

    如果您只想检查特定域的 JSON 状态,只需将其附加到您的状态网址:

    > curl https://<yourhost>/md-status/another-domain.org
    {
      "name": "another-domain.org",
      "domains": [
        "another-domain.org",
        "www.another-domain.org"
      ],
      ...
    

    更新域时,此 JSON 状态还显示 log 活动:

    {
    "when": "Wed, 19 Jun 2019 14:45:58 GMT",
    "type": "progress", "detail": "The certificate for the managed domain has been renewed successfully and can be used. A graceful server restart now is recommended."
    },{
    "when": "Wed, 19 Jun 2019 14:45:58 GMT",
    "type": "progress", "detail": "Retrieving certificate chain for test-901-003-1560955549.org"
    },{
    "when": "Wed, 19 Jun 2019 14:45:58 GMT",
    "type": "progress", "detail": "Waiting for finalized order to become valid"
    },{
    "when": "Wed, 19 Jun 2019 14:45:50 GMT",
    "type": "progress", "detail": "Submitting CSR to CA for test-901-003-1560955549.org"
    },
    ...
    

    您还可以在暂存中的文件job.json中找到此信息,并在激活时显示域目录。这允许您在 time 中的任何稍后时间点检查这些。

    此外,还有MDCertificateStatus可以访问 JSON 格式的相关证书信息。

    MDBaseServer 指令

    描述:控制是否可以管理基本服务器或仅管理虚拟主机。
    句法:MDBaseServer on\|off
    默认:MDBaseServer off
    Context:服务器配置
    状态:延期
    模块:mod_md

    控制基本服务器,所有 VirtualHosts 之外的服务器是否应由 mod_md 管理。默认情况下,它不会。因为它可能令人困惑 side-effects。建议您拥有所有托管域的虚拟主机,并且不要依赖 global,回退服务器 configuration。

    MDCAChallenges 指令

    描述:用于证明域名所有权的 ACME 质询类型。
    句法:MDCAChallenges name[ name ...]
    默认:MDCAChallenges tls-alpn-01 http-01 dns-01
    Context:服务器配置
    状态:延期
    模块:mod_md

    在证明域所有权时设置挑战类型及其执行 order。名称是协议特定的。 Let 的加密实现的当前 ACME 协议 version 定义了 mod_md 支持的三种挑战类型。默认情况下,它会在可用时尝试 port 443 上的那个。

    MDCertificateAgreement 指令

    描述:您确认您已接受证书 Authority 的服务条款。
    句法:MDCertificateAgreement accepted
    Context:服务器配置
    状态:延期
    模块:mod_md

    当您使用 mod_md 获取证书时,您将成为 CA 的客户(e.g.让我们加密)。这意味着您需要阅读并同意其服务条款,以便您了解它们提供的内容以及它们可能排除或要求您提供的内容。 mod_md 本身不能同意这样的事情。

    MDCertificateAuthority 指令

    描述:ACME 证书 Authority 服务的 URL。
    句法:MDCertificateAuthority url
    默认:MDCertificateAuthority https://acme-v02.api.letsencrypt.org/directory
    Context:服务器配置
    状态:延期
    模块:mod_md

    CA 提供其服务的 URL。

    我们现在加密提供四个这样的 URL。两个用于 ACME 协议的自身 legacy version,通常命名为 ACMEv1。两个用于 RFC 8555 version,名为 ACMEv2。

    每个 version 都有 2 个 endpoints,因为它们是一个 production 端点和一个用于测试的“staging”端点。测试端点的工作原理相同,但不会为您提供浏览器识别的证书。但是,它也有非常宽松的速率限制。这允许重复测试服务而不会阻塞自己。

    LE 分段设置

    MDCertificateAuthority https://acme-staging-v02.api.letsencrypt.org/directory
    

    MDCertificateFile 指令

    描述:为 MD 指定静态证书文件。
    句法:MDCertificateFile path-to-pem-file
    Context:服务器配置
    状态:延期
    模块:mod_md

    这在MDomainSet中使用,并指定包含受管域的证书链的文件。匹配的 key 通过MDCertificateKeyFile指定。

    <MDomain mydomain.com>
      MDCertificateFile /etc/ssl/my.cert
      MDCertificateKeyFile /etc/ssl/my.key
    </MDomain>
    

    这相当于 mod_ssl 了 SSLCertificateFile指令。它有几个用途。

    如果要将现有域(使用静态 files)迁移到自动化 Let 的加密证书,请执行以下操作。您定义MDomainSet,在此处添加 files 并从 VirtualHosts 中删除了 SSLCertificateFile。

    这将为您提供与之前相同的功能,在 configuration 中可能不会重复 lines。然后你可以添加MDRenewMode'always',模块将在文件到期之前获得一个新的证书。完成后,删除MDCertificateFile并重新加载服务器。

    另一个用例是您使用另一个 ACME 客户端续订 Let 的加密证书,例如,优秀的certbot。然后让你的 MD 指向 certbot 的 files,并让它们一起工作。

    MDCertificateKeyFile 指令

    描述:为静态证书指定静态私有 key。
    句法:MDCertificateKeyFile path-to-file
    Context:服务器配置
    状态:延期
    模块:mod_md

    这在MDomainSet中使用,并指定保存托管域的私有 key 的文件。匹配证书通过MDCertificateFile指定。

    这相当于 mod_ssl 了 SSLCertificateKeyFile指令。

    MDCertificateProtocol 指令

    描述:与证书 Authority 一起使用的协议。
    句法:MDCertificateProtocol protocol
    默认:MDCertificateProtocol ACME
    Context:服务器配置
    状态:延期
    模块:mod_md

    指定要使用的协议。目前,仅支持ACME

    MDCertificateStatus 指令

    描述:公开 JSON 中的公共证书信息。
    句法:MDCertificateStatus on\|off
    默认:MDCertificateStatus on
    Context:服务器配置
    状态:延期
    模块:mod_md

    启用后,“https://domain/.httpd/certificate-status”中的托管域中的资源可用,它返回当前和更新证书的 JSON 文档列表 key properties(如果可用)。

    {
      "valid-until": "Thu, 29 Aug 2019 16:06:35 GMT",
      "valid-from": "Fri, 31 May 2019 16:06:35 GMT",
      "serial": "03039C464D454EDE79FCD2CAE859F668F269",
      "sha256-fingerprint": "1ff3bfd2c7c199489ed04df6e29a9b4ea6c015fe8a1b0ce3deb88afc751e352d"
      "renewal" : { ...renewed cert information... }
    }
    

    MDChallengeDns01 指令

    描述:
    句法:MDChallengeDns01 path-to-command
    Context:服务器配置
    状态:延期
    模块:mod_md

    定义要在dns-01挑战需要下降时调用的程序。该程序的参数为setupteardown,后跟域 name。对于setup,另外给出了挑战内容。

    您无需指定此项,因为 long 可以作为'http:'或'https:'质询方法。但是,Let's Encrypt 使'dns-01'成为通配符证书唯一可用的挑战。如果您需要其中一个,则需要对其进行配置。

    有关详细信息,请参阅上面有关通配符证书的部分。

    MDDriveMode 指令

    描述:MDRenewMode 的前 name。
    句法:MDDriveMode always\|auto\|manual
    默认:MDDriveMode auto
    Context:服务器配置
    状态:延期
    模块:mod_md

    该指令的存在是为了向后兼容,作为MDRenewMode的旧 name。

    MDHttpProxy 指令

    描述:为传出连接定义代理。
    句法:MDHttpProxy url
    Context:服务器配置
    状态:延期
    模块:mod_md

    使用 http 代理连接到 MDCertificateAuthority。如果您的网络服务器只能通过转发代理到达互联网,请定义此项。

    MDMember 指令

    描述:托管域的其他主机名。
    句法:MDMember hostname
    Context:服务器配置
    状态:延期
    模块:mod_md

    您可以使用MDMember将这些名称添加到托管域,而不是在同一 line 上列出所有 dns 名称。

    <MDomain example.org>
        MDMember www.example.org
        MDMember mail.example.org
    </MDomain>
    

    如果在 global context 中使用它,在特定 MD 之外,则只能指定一个 value,'auto'或'manual'作为所有其他 MD 的默认值。有关这些特殊值的说明,请参见MDomain。

    MDMembers 指令

    描述:控制是否自动添加别名域名。
    句法:MDMembers auto\|manual
    默认:MDMembers auto
    Context:服务器配置
    状态:延期
    模块:mod_md

    定义 VirtualHost 的服务器名称和ServerAlias值是否自动添加到托管域的成员。

    MDMessageCmd 指令

    描述:处理管理域的 events
    句法:MDMessageCmd path-to-cmd optional-args
    Context:服务器配置
    状态:延期
    模块:mod_md

    当受管域发生以下 events 之一时,将调用此命令:“renewed”,“expiring”,“errored”。该命令可能在将来被调用的次数超过这些,并忽略它不准备处理的 events。

    这是MDNotifyCmd的更灵活的伴侣。

    MDMessageCmd /etc/apache/md-message # will be invoked when a new certificate for mydomain.org is available as:/etc/apache/md-message renewed mydomain.com

    
    

    程序不应该阻塞,因为模块将等待它完成。除 0 以外的 return code 被视为错误。

    “错误”并不是直接引起关注的原因,因为早期尝试更新以允许互联网回来。

    '到期'应该认真对待。它是在达到MDWarnWindow时发出的。默认情况下,这是证书有效期的 10%,因此对于 Let's Encrypt,这当前意味着它到期前 9 天。警告每天最多重复一次。

    MDMustStaple 指令

    描述:控制新证书是否带有 OCSP Must Staple flag。
    句法:MDMustStaple on\|off
    默认:MDMustStaple off
    Context:服务器配置
    状态:延期
    模块:mod_md

    定义新请求的证书是否应设置 OCSP Must Staple flag。如果证书具有此 flag,则服务器需要向每个 client 发送 OCSP 装订响应。这仅适用于配置mod_ssl以生成此项(请参阅SSLUseStapling和好友)。

    MDNotifyCmd 指令

    描述:当托管域准备就绪时运行程序。
    句法:MDNotifyCmd path[ args ]
    Context:服务器配置
    状态:延期
    模块:mod_md

    当托管域已注册或续订其证书时,配置的可执行文件为 run。它被赋予处理过的 MD 的 name 作为附加 arguments(在此处指定的参数之后)。它应该 return status code 0 表示它已成功运行 run。

    MDomain 指令

    描述:定义属于一个 group 的域名列表。
    句法:MDomain dns-name[ other-dns-name...][auto\|manual]
    Context:服务器配置
    状态:延期
    模块:mod_md

    列表中的所有名称都作为一个托管域(MD)进行管理。 mod_md 将请求一个对所有这些名称有效的单一证书。该指令使用 global 设置(参见下面的其他 MD 指令)。如果您需要一个 MD 的特定设置,请使用<MDomainSet>。

    托管域还需要 2 个其他设置:ServerAdmin和MDCertificateAgreement。ServerAdmin的邮件地址用于在 CA 注册(默认情况下为 Let's Encrypt)。 CA 可以使用它来通知您服务或证书状态的变化。

    第二个设置MDCertificateAgreement应该 value“已接受”。通过指定,您确认您接受 CA 的服务条款。

    ServerAdmin mailto:admin@example.org
    MDCertificateAgreement accepted
    MDomain example.org www.example.org
    
    <VirtualHost *:443>
        ServerName example.org
        DocumentRoot htdocs/root
    
        SSLEngine on
    </VirtualHost>
    
    <VirtualHost *:443>
        ServerName www.example.org
        DocumentRoot htdocs/www
    
        SSLEngine on
    </VirtualHost>
    

    您可以在此指令中使用两个特殊名称:'manual'和'auto'。这确定了托管域是否具有完全符合配置的 name 列表(“手动”)或提供更多便利。使用'auto',虚拟 host 的所有名称都会添加到 MD 中。方便的是,'auto'也是默认值。

    MDomain example.org
    
    <VirtualHost *:443>
        ServerName example.org
        ServerAlias www.example.org
        DocumentRoot htdocs/root
    
        SSLEngine on
    </VirtualHost>
    
    MDomain example2.org auto
    
    <VirtualHost *:443>
        ServerName example2.org
        ServerAlias www.example2.org
        ...
    </VirtualHost>
    

    在此 example 中,域“www.example.org”会自动添加到 MD“example.org”。类似地,'example2.org'显式配置'auto'。每当您向此虚拟 host 添加更多 ServerAlias 名称时,它们也将添加到托管域。

    如果您希望明确声明所有域名,请使用“手动”模式。如果名称与预期名称不匹配,则会记录错误。

    <MDomainSet>指令

    描述:指令的容器应用于相同的托管域。
    句法:<MDomainSet dns-name[ other-dns-name...]>...</MDomainSet>
    Context:服务器配置
    状态:延期
    模块:mod_md

    这是指令MDomain,增加了为此 MD 添加设置的可能性。实际上,您也可以使用“<MDomain ..>”作为快捷方式。

    这允许您配置使用另一个证书 Authority 的 MD,具有其他续订要求等。

    <MDomain sandbox.example.org>
        MDCertificateAuthority   https://someotherca.com/ACME
    </MDomain>
    

    common 用例是为您的域单独配置 https:要求。

    <MDomain example.org>
        MDRequireHttps temporary
    </MDomain>
    

    MDPortMap 指令

    描述:Map 内部端口外部用于域所有权验证。
    句法:MDPortMap map1[ map2 ]
    默认:MDPortMap http:80 https:443
    Context:服务器配置
    状态:延期
    模块:mod_md

    ACME 协议提供了两种通过 HTTP 验证域所有权的方法:一种使用'http:'urls(port 80),另一种使用'https:'urls(port 443)。如果至少有两个服务器无法访问您的服务器,则 ACME 可能只能通过配置 DNS 服务器来工作,请参阅MDChallengeDns01。

    在大多数面向公众的服务器上,“http:”到达 port 80 和 port 443 上的“https:”。模块会检查 Apache 服务器正在侦听的端口并假设这些端口可用。这意味着当您的服务器不监听 port 80 时,它会假定来自互联网的“http:”请求不起作用。

    这是一个很好的猜测,但它可能是错误的。例如,Apache 可能会监听 port 80,但您的防火墙可能会阻止它。'http:'仅在您的 Intranet 中可用。因此,该模块将错误地假设 Let's Encrypt 可以对您的服务器使用'http:'挑战。这将失败,因为您的防火墙将丢弃这些。

    MDPortMap http:- https:8433
    

    上面的示例显示了如何指定来自互联网的“http:”请求永远不会到达。此外,它说“https:”请求将到达本地 port 8433。

    如果你有 port 转发,你的服务器可以在 port 443 上从 Internet 访问,但 httpd 使用的本地 port 是另一个。您的服务器可能只侦听端口 8443 和 8000,但是可以通过端口 443 和 80(来自 Internet)访问。

    MDPrivateKeys 指令

    描述:设置生成的私钥的类型和大小。
    句法:MDPrivateKeys type[ params...]
    默认:MDPrivateKeys RSA 2048
    Context:服务器配置
    状态:延期
    模块:mod_md

    定义为托管域生成哪种私钥以及使用哪些参数。现在唯一支持的类型是'RSA',它所采用的唯一参数是 key 使用的位数。

    当前(2017)建议至少为 2048 位,此处不接受较小的数字。较高的 numbers 提供更长的安全性,但计算上更昂贵,e.g.增加服务器的负载。这对您来说可能是也可能不是问题。

    其他 key 类型将在未来定义。

    MDPrivateKeys RSA 3072
    

    请注意,此设置仅对新密钥有影响。您拥有的任何现有私有 key 仍然不受影响。此外,这仅影响为证书生成的私钥。 ACME 帐户密钥不受此影响。

    MDRenewMode 指令

    描述:控制是否续签证书。
    句法:MDRenewMode always\|auto\|manual
    默认:MDRenewMode auto
    Context:服务器配置
    状态:延期
    模块:mod_md

    在默认的“自动”模式下,模块将执行对每个受管域最有意义的操作。对于没有任何证书的域,它将从证书 Authority 获取它们。

    但是,如果您定义了一个未被 Apache 的 VirtualHosts 使用的 MD,它将不会打扰。对于具有静态证书 files 的 MD(请参阅MDCertificateFile),它假定您拥有自己的源,并且也不会续订它们。

    您可以以任一方式覆盖此默认值。如果指定“always”,则模块将为 MD 更新证书,无论域名是否正在使用或是否存在静态 files。

    相反,请配置“手动”,不会尝试续订。

    MDRenewWindow 指令

    描述:控制何时续订证书。
    句法:MDRenewWindow duration
    默认:MDRenewWindow 33%
    Context:服务器配置
    状态:延期
    模块:mod_md

    如果证书的有效期低于持续时间,mod_md 将获得新的签名证书。

    通常,证书有效期约为 90 天,mod_md 将在其到期前最早的 33%续订(因此有效期为 90 天,到期前 30 天)。如果您认为这不是您所需要的,您可以指定确切的 time,如下所示:

    # 21 days before expiry
    MDRenewWindow 21d 
    # 30 seconds (might be close)
    MDRenewWindow 30s
    # 10% of the cert lifetime
    MDRenewWindow 10%
    

    在自动驾驶模式下,模块将至少每 12 小时检查一次托管域的状态以及是否需要执行某些操作。在出现错误时,例如,当 CA 无法访问时,它将在几秒钟后重新启动。如果继续失败,它将退回到每小时检查的最大间隔。

    MDRequireHttps 指令

    描述:将 http:traffic 重定向到 https:for Managed Domains。
    句法:MDRequireHttps off\|temporary\|permanent
    默认:MDRequireHttps off
    Context:服务器配置
    状态:延期
    模块:mod_md

    这是一个方便的指令,可以简化 http:到 https:迁移您的 Managed Domains。附:

    MDRequireHttps temporary
    

    您现在宣布希望通过 http:URL 的所有流量重定向到 https:。这是安全的,您可以在任何 time 时再次删除它。

    以下结果:如果您希望 client不再使用 http:URL,请配置:

    永久(至少半年!)

    MDRequireHttps permanent
    

    这有两件事:

    • 使用301 status code 将对http:资源的所有请求重定向到具有https: scheme 的相同 URL。这告诉 clients 这应该是永远的,并且应该相应地更新他们拥有的任何链接。
    • https:请求的所有答案都将带有标题Strict-Transport-Security,其生命 time 为半年。这告诉浏览器,在与这个域 name 交谈时,****(半年)**将使用http:。浏览器会在看到此消息后拒绝联系您未加密的网站。这可以防止恶意中间件降级连接和 listen/manipulate 流量。这很好。但你不能简单地再把它拿回来。

    基本上,您可以使用mod_alias和某些重定向 configuration 实现相同的功能。如果您自己执行此操作,请确保从重定向中排除 paths /.well-known/*,否则 mod_md 可能无法在新证书上签名。

    如果您全局设置,则它适用于所有托管域。如果您只想将其用于特定域,请使用:

    <MDomain xxx.yyy>
      MDRequireHttps temporary
    </MDomain>
    

    MDServerStatus 指令

    描述:控制是否将管理域信息添加到 server-status。
    句法:MDServerStatus on\|off
    默认:MDServerStatus on
    Context:服务器配置
    状态:延期
    模块:mod_md

    Apaches'server-status'处理程序允许您配置资源以监视正在发生的事情。这包括现在列出所有托管域的部分,其中包含 DNS 名称,续订状态,生命周期和主要 properties。

    您可以使用此指令将其关闭。

    MDStoreDir 指令

    描述:本地文件系统上的路径,用于存储 Managed Domains 数据。
    句法:MDStoreDir path
    默认:MDStoreDir md
    Context:服务器配置
    状态:延期
    模块:mod_md

    定义本地文件系统上托管域数据的存储位置。这是绝对路径或相对于服务器根目录解释。默认情况下将在服务器根目录中创建一个目录“md”。

    如果移动它并且已经有数据,请确保首先将数据 move/copy 添加到新位置,然后重新配置然后重新启动服务器。如果您首先重新配置并重新启动,服务器将尝试获取它认为缺少的新证书。

    MDWarnWindow 指令

    描述:如果要警告即将到期的证书,请定义 time 窗口。
    句法:MDWarnWindow duration
    默认:MDWarnWindow 10%
    Context:服务器配置
    状态:延期
    模块:mod_md

    有关如何指定 time 的说明,请参见MDRenewWindow。

    模块检查证书的剩余生命周期,并在小于警告窗口时调用MDMessageCmd。默认情况下,这意味着来自 Let's Encrypt 的证书有 9 天。

    它也适用于具有静态证书 files 的托管域(请参阅MDCertificateFile)。

    上篇:mod_macro

    下篇:mod_mime