Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Apache/docs/manual/mod/   (Apache Software Stiftung Version 2.4.65©)  Datei vom 7.5.2025 mit Größe 114 kB image not shown  

Quellcode-Bibliothek mod_md.html.fr.utf8   Sprache: unbekannt

 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_md - Serveur HTTP Apache Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur HTTP Apache Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_md</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_md.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_md.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gestion des domaines au sein des serveurs virtuels et obtention
    de certificats via le protocole ACME
    </td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>md_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_md.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.30 du serveur HTTP
    Apache</td></tr></table>
<h3>Sommaire</h3>

        <p>
 Ce module permet de gérer les propriétés courantes des domaines pour un
 ou plusieurs serveurs virtuels. Il fournit deux fonctionnalités
 principales : la première permet la supervision et le renouvellement des
 certificats TLS via le protocole ACME (<a href="https://tools.ietf.org/html/rfc8555">RFC 8555</a>). Le module
 effectue le renouvellement des certificats avant leur expiration
 afin d'éviter une interruption des services internet. Il est possible de
 monitorer l'état de tous les certificats gérés par mod_md et de configurer
 le serveur de façon à ce qu'il envoie des notifications de
 renouvellement, d'expiration ou d'erreur personnalisées.
 </p><p>
 La seconde fonctionnalité principale fournit une implémentation
 alternative de l'agrafage OCSP, et ceci aussi bien pour les certificats
 gérés par mod_md que pour les certificats que vous gérez vous-même.
 Composant nécessaire pour tout site https, l'agrafage OCSP influence la
 vitesse de chargement des pages et suivant la configuration, la
 disponibilité de ces dernières. Vous trouverez plus de détails dans la section
 agrafage ci-dessous.
        </p><p>
        L'autorité ACME par défaut pour la gestion des certificats est <a href="https://letsencrypt.org/">Let's Encrypt</a>, mais il est possible
 de configurer une autre CA si cette dernière supporte le protocole.
        </p>
        
        <p>Exemple de configuration simple :</p>
        
        <div class="note"><h3>TLS dans un contexte de serveur virtuel</h3>
        <pre class="prettyprint lang-config">MDomain example.org

<VirtualHost *:443>
    ServerName example.org
    DocumentRoot htdocs/a

    SSLEngine on
    # aucun certificat spécifié
</VirtualHost></pre>

        <p>
            Au démarrage, un serveur ainsi configuré contactera <a href="https://letsencrypt.org/">Let's Encrypt</a> pour demander un
     certificat pour le domaine considéré. Si Let's Encrypt peut vérifier
     le propriétaire du domaine, le module obtiendra le certificat et sa
     chaîne de certification, le stockera dans son système de fichiers
     (voir la directive <code class="directive"><a href="#mdstoredir">MDStoreDir</a></code>) et le proposera au prochain
     redémarrage à <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.
        </p><p>
            Ce processus se déroule pendant l'exécution du serveur. Tous les
     autres serveurs virtuels continueront à fonctionner normalement,
     mais tant que le certificat ne sera pas disponible, toute requête
     pour le domaine considéré génèrera une réponse du type '503 Service
     Unavailable'. 
        </p>
        </div>

        <div class="note"><h3>Prérequis</h3>
        <p>
            Pour pouvoir être utilisé, ce module nécessite le chargement
     préalable du module <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>.
        </p><p>
            Pour que Let's Encrypt puisse signer et renouveler votre certificat,
     votre serveur doit être accessible depuis l'internet public sur le port 80
     (http:) et/ou 443 (https:), à moins que votre serveur soit configuré
     pour utiliser les vérifications DNS - pour plus de détails, voir
     "certificats génériques".
        </p><p>
            Le module choisit une des méthodes proposées par Let's Encrypt. En
     général, LE propose des méthodes de vérification sur les ports ou le
     DNS et Apache choisit une des méthodes disponibles.    
        </p><p>
            Pour déterminer quelles méthodes sont disponibles, le module
     consulte les ports sur lesquels écoute Apache httpd. Si le port 80 en
     fait partie, le module supposera que la vérification http: nommée
     http-01 est disponible. Si le port 443 en fait aussi partie, la
     vérification https: nommée tls-alpn-01 sera ajoutée à la liste des
     méthodes disponibles. Enfin, si la directive <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code> est définie, la méthode
     de vérification dns-01 sera aussi ajoutée. 
        </p><p>
            Si votre configuration est plus complexe, deux méthodes permettent
     d'orienter ce choix. En premier lieu, voyez du côté de la directive
     <code class="directive"><a href="#mdportmap">MDPortMap</a></code> si le serveur se
     trouve derrière un redirecteur de port comme un pare-feu. En second
     lieu, vous pouvez court-circuiter entièrement le processus de choix
     du module en définissant directement la directive <code class="directive"><a href="#mdcachallenges">MDCAChallenges</a></code>.  
        </p>
        </div>

        <div class="note"><h3>Vérifications https:</h3>
        <p>
            Pour la vérification de domaine via le protocole TLS, le nom de la
     méthode correspondante est "tls-alpn-01". Le serveur Apache doit
     alors être en écoute sur le port 443 (voir la directive <code class="directive"><a href="#mdportmap">MDPortMap</a></code> si vous redirigez ce port vers
     un autre).
        </p><p>
            Let's Encrypt ouvrira alors une connexion TLS avec Apache en
     utilisant l'indicateur spécial "acme-tls/1" (cette portion
     indication de TLS se nomme ALPN, d'où le nom de la méthode de
     vérification. ALPN est aussi utilisé par les navigateurs pour ouvrir
     une connexion HTTP/2.
        </p><p>
            Si vous ne souhaitez cependant qu'aucun de vos sites ne soit
     accessible sur le port 80, vous pouvez laiser ce dernier ouvert et
     rediriger toutes les requêtes vers vos sites en https:. Pour
     ce faire, utilisez la directive <code class="directive"><a href="#mdrequirehttps">MDRequireHttps</a></code> décrite plus loin. Votre
     serveur pourra alors continuer à répondre au requêtes en http: en
     provenance de Let's Encrypt.
     Comme dans le cas du protocole HTTP/2, vous pouvez configurer ceci
     de la manière suivante :
        </p>
 <pre class="prettyprint lang-config">Protocols h2 http/1.1 acme-tls/1</pre>

        <p>
            La méthode de vérification "tls-alpn-01" sera alors disponible.
 </p>
        </div>
 <div class="note"><h3>Certificats génériques</h3>
        <p>
            Les certificats génériques sont supportés à partir de la version 2.x
     de mod_md, mais leur obtention n'est pas triviale. Let's Encrypt
     impose pour ces derniers la vérification "dns-01".
     Aucune autre n'est considérée comme suffisamment efficace.
        </p><p>
     Apache ne peut cependant pas implémenter cette vérification de
     lui-même . Comme son nom l'indique, "dns-01" vous demande de
     présenter certains enregistrement DNS spécifiques à votre domaine
     qui doivent contenir certaines données de vérification. Vous devez
     donc être en mesure d'éditer et modifier les enregistrements DNS de
     votre domaine.
        </p><p>
            Si c'est le cas, vous pouvez procéder via mod_md. Supposons que vous
     disposiez pour cela du script /usr/bin/acme-setup-dns ; vous
     configurez alors Apache comme suit :
        </p>
        <pre class="prettyprint lang-config">MDChallengeDns01 /usr/bin/acme-setup-dns</pre>

        <p>
            Apache fera alors appel à ce script lorsqu'il aura besoin de
     définir ou détruire un enregistrement DNS de vérification pour le
     domaine considéré.
        </p><p>
            Supposons ainsi que vous souhaitiez obtenir un certificat pour
     *.mydomain.com ;  mod_md va appeler :
        </p>
        <pre class="prettyprint lang-config">/usr/bin/acme-setup-dns setup mydomain.com challenge-data
# ceci nécessite de supprimer tout enregistrement DNS TXT pour
# _acme-challenge.mydomain.com et d'en créer un nouveau dont le contenu sera
# "challenge-data"</pre>

        <p>
            il appellera ensuite :
        </p>
        <pre class="prettyprint lang-config">/usr/bin/acme-setup-dns teardown mydomain.com
# ceci nécessite de supprimer tout enregistrement DNS TXT pour
# _acme-challenge.mydomain.com</pre>

        </div>

        <div class="note"><h3>Monitoring</h3>
            <p>Apache possède un module de monitoring standard :
     <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. mod_md y ajoute une section et facilite
     le monitoring de votre domaine.
            </p><p>
                Vous pouvez alors visualiser tous vos domaines gérés par ordre
  alphabétique, les noms de domaine qu'ils contiennent, un état
  global, les date d'expiration ainsi que des paramètres
  spécifiques. Ces derniers comprennent la périodicité de
  renouvellement que vous avez sélectionnée (ou la valeur par
  défaut), la CA (autorité de certification) utilisée, etc...
            </p><p>
                La colonne "Renewal" montre des rapports d'activité ou d'erreur
  à propos des renouvellements de certificats, ce qui devrait
  faciliter la vie des utilisateurs qui souhaitent savoir si tout
  fonctionne correctement ou si des problèmes se produisent.
            </p><p>
                Si un des domaines gérés provoque une erreur, elle apparaîtra
  aussi ici, ce qui vous permettra de visualiser les éventuels
  problèmes sans devoir vous plonger dans les journaux du serveur.
            </p><p>
                Il existe aussi un nouveau gestionnaire, "md-status", qui peut
  vous fournir les informations à propos des domaines gérés à
  partir de "server-status" et au format JSON. Vous pouvez le
  configurer comme suit sur votre serveur :
            </p>
            <pre class="prettyprint lang-config"><Location "/md-status">
  SetHandler md-status
</Location></pre>

            <p>
                Comme pour "server-status", vous devez
  ajouter les autorisations nécessaires. 
            </p><p>
                Si vous ne souhaitez recevoir l'état JSON que pour un domaine
  spécifique, ajoutez le simplement à votre URL d'état :
            </p>
            <pre class="prettyprint lang-config">> curl https://<yourhost>/md-status/another-domain.org
{
  "name": "another-domain.org",
  "domains": [
    "another-domain.org",
    "www.another-domain.org"
  ],
  ...</pre>

            <p>
                Cet état JSON montre aussi un journal des renouvellements de
  certificats :
            </p>
            <pre class="prettyprint lang-config">{
"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"
},
...</pre>

            <p>
                Vous trouverez aussi ces informations dans le fichier "job.json"
  dans votre répertoire de test et, s'il est activé, dans le
  répertoire des domaines. Vous pourrez ainsi les consulter à tout
  moment. 
            </p><p>
                Enfin, la directive <code class="directive"><a href="#mdcertificatestatus">MDCertificateStatus</a></code> donne accès au
  informations à propos du certificat spécifié au format JSON.
            </p>
        </div>

 <div class="note"><h3>Agrafage</h3>
            <p>
                Si vous voulez commencer par tester l'agrafage pour un seul
  domaine géré, utilisez cette configuration :
            </p>
            <pre class="prettyprint lang-config"><MDomain mydomain.net>
  MDStapling on
</MDomain></pre>

            <p>
  et utilisez 'server-status' et/ou <code class="directive"><a href="#mdmessagecmd">MDMessageCmd</a></code> pour voir comment tout
  cela fonctionne. Vous pourrez alors vérifier si l'information
  d'agrafage est présente, sa durée de validité, son origine et à
  quel moment elle sera rafraîchie.
            </p><p>
                Si tout fonctionne comme vous le souhaitez, vous pouvez définir
  cette configuration pour tous les certificats ou seulement vos
  certificats gérés.
            </p><p>
                De nombreux sites utilisent l'implémentation d'agrafage
  existante de mod_ssl depuis des années. Les implémentations par
  mod-ssl et mod_md présentent deux différences principales :
            </p>
            <ol>
                <li>Lecture des informations à la demande ou de manière planifiée
  : mod_ssl extrait les informations d'agrafage lorsque le besoin
  s'en fait sentir, par exemple lors d'une nouvelle connexion. mod_md
  quant à lui, extrait ces informations au démarrage du serveur et
  lorsqu'elles ont atteint les deux tiers de leur durée de vie.</li>
                <li>Conservation des informations en mémoire ou de manière
  persistante : mod_ssl <em>peut</em> conserver ces informations
  de manière persistante, mais la plupart des configurations
  exemples utilisent un cache en mémoire. mod_md quant à lui,
  stocke systématiquement les informations dans le système de
  fichiers.</li>
            </ol>
            <p>
                Si par malchance vous redémarrez votre serveur alors que le
  service OCSP de votre CA est en panne, les utilisateurs ne
  pourront plus atteindre vos sites. Sans persistance des
  informations, votre serveur n'est plus en mesure de fournir au
  client les données nécessaires, et le navigateur client ne peut
  pas les obtenir lui-même car le service OCSP ne répond pas. 
            </p><p>
                Avec l'implémentation de mod_md, l'information d'agrafage est
  stockée de manière persistante, et elle peut donc être réchargée
  au démarrage du serveur et être ainsi disponible pour les
  connexions entrantes. Un jour ou deux avant expiration des
  informations, mod_md va les renouveler, ce qui permet de faire
  face à un temps d'indisponibilité du service OCSP assez long.
            </p><p>
                Pour conserver une compatibilité ascendante, l'implémentation de
  mod_ssl n'a pas pu être modifiée en profondeur. Par exemple,
  mod_ssl est incapable d'ajouter une dépendance à mod_watchdog
  sans rendre inutilisables de nombreuses configurations
  existantes qui ne chargent pas ce module.
            </p>
        </div>

        <div class="note"><h3>tailscale</h3>
            <p>
                Depuis la version 2.4.14 du module, vous pouvez l'utiliser pour
  obtenir des certificats pour vos domaines <a href="https://tailscale.com">tailscale</a>.
            </p>
            <pre class="prettyprint lang-config"><MDomain mydomain.some-thing.ts.net>
  MDCertificateProtocol tailscale
  MDCertificateAuthority file://localhost/var/run/tailscale/tailscaled.sock",
</MDomain></pre>

            <p>
                Tailscale permet des communications sécurisées entre vos
  machines, où qu'elles se trouvent, et peut leur fournir des noms de
  domaine dans l'espace *.ts.net. Pour ceux-ci, il fournira
  aussi ensuite des certificats Let's Encrypt de façon à ce que
  vous puissiez ouvrir ces domaines dans votre navigateur en toute
  sécurité.
            </p>
            <p>
                Apache va contacter le démon tailscale local à l'aide des
  directives listées ci-dessous pour obtenir et renouveler les
  certificats. Ceci ne fonctionnera cependant que pour les noms de
  domaine que tailscale aura assigné à votre machine.
            </p>
            <p>
                Dans le cas contraire, ces certificats fonctionneront exactement
  de la même façon que ceux qui auront été obtenus à l'aide du
  protocole ACME de Lets Encrypt. Vous les verrez dans le rapport
  d'état et les directives MDMessageCmd seront aussi exécutées
  pour eux.
            </p>
            <p>
  Vous trouverez plus de détails dans la <a href="https://github.com/icing/mod_md#tailscale">documentation
  github de mod_md</a>.
            </p>
            <p>
                Notez que cette fonctionnalité n'est disponible que sur les
  machines où le démon tailscale fournit un socket de domaine unix.
  Jusqu'à présent, ceci ne semble être le cas que sur les systèmes
  de style Unix.
            </p>
        </div>

    </div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#mdactivationdelay">MDActivationDelay</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdbaseserver">MDBaseServer</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdcachallenges">MDCAChallenges</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateagreement">MDCertificateAgreement</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateauthority">MDCertificateAuthority</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatecheck">MDCertificateCheck</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatefile">MDCertificateFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatekeyfile">MDCertificateKeyFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatemonitor">MDCertificateMonitor</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateprotocol">MDCertificateProtocol</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatestatus">MDCertificateStatus</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdchallengedns01">MDChallengeDns01</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdchallengedns01version">MDChallengeDns01Version</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdcheckinterval">MDCheckInterval</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdcontactemail">MDContactEmail</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mddrivemode">MDDriveMode</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdexternalaccountbinding">MDExternalAccountBinding</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdhttpproxy">MDHttpProxy</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdmatchnames">MDMatchNames</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdmember">MDMember</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdmembers">MDMembers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdmessagecmd">MDMessageCmd</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdmuststaple">MDMustStaple</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdnotifycmd">MDNotifyCmd</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdomain">MDomain</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdomainsetsection"><MDomainSet></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdportmap">MDPortMap</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdprivatekeys">MDPrivateKeys</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdprofile">MDProfile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdprofilemandatory">MDProfileMandatory</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdrenewmode">MDRenewMode</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdrenewwindow">MDRenewWindow</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdrequirehttps">MDRequireHttps</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdretrydelay">MDRetryDelay</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdretryfailover">MDRetryFailover</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdserverstatus">MDServerStatus</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdstapleothers">MDStapleOthers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdstapling">MDStapling</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdstoredir">MDStoreDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdstorelocks">MDStoreLocks</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mdwarnwindow">MDWarnWindow</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_md">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_md">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>

<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdactivationdelay" id="mdactivationdelay">Directive</a> <a name="MDActivationDelay" id="MDActivationDelay">MDActivationDelay</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le délai d'activation des nouveaux certificats</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDActivationDelay <var>duration</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP
 Apache</td></tr>
</table>
            <p>
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdbaseserver" id="mdbaseserver">Directive</a> <a name="MDBaseServer" id="MDBaseServer">MDBaseServer</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le serveur global peut être géré ou seulement
 les serveurs virtuels.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDBaseServer on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDBaseServer off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>
            Cette directive permet de définir si le serveur global, autrement
     dit la partie du serveur située en dehors de tout serveur virtuel,
     doit être géré par mod_md ou non. Par défaut il ne
     le sera pas car cela provoquerait des effets de bord
     générateurs de confusion. Il est donc recommandé de
     définir des serveurs virtuels pour tous les domaines gérés, et
     d'exclure des domaines gérés le serveur global (serveur par défaut).
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdcachallenges" id="mdcachallenges">Directive</a> <a name="MDCAChallenges" id="MDCAChallenges">MDCAChallenges</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type de négociation ACME utilisée pour prouver l'appartenance
 du domaine.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCAChallenges <var>name</var> [ <var>name</var> ... ]</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCAChallenges tls-alpn-01 http-01 dns-01</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>
  Cette directive permet de définir les types de négociation
  utilisés (par ordre de préférences) pour prouver l'appartenance
  du domaine. Les types de négociation supportés par le module
  sont 'tls-alpn-01', 'dns-01' et 'http-01'. Le module parcourt
  toute la configuration du serveur pour déterminer quelles
  méthodes peuvent être utilisées.
            </p><p>
  Si par exemple le serveur est en écoute sur le port 80, c'est la
  méthode 'http-01' qui sera disponible. Pour 'dns-01', une
  commande <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code>
  définie sera requise. La méthode 'tls-alpn-01' est décrite
  ci-dessus dans 'https: Challenges'.
            </p><p>
                Cette sélection automatique fonctionne pour la plupart des
  configurations. Mais comme Apache est un serveur très puissant
  avec de nombreuses options de configuration, certains cas
  pourront poser des problèmes. Par exemple, il peut être en
  écoute sur plusieurs adresses IP, certaines étant accessibles en
  https: et d'autres non.
            </p><p>
  Si vous définissez <code class="directive">MDCAChallenges</code>
  directement, la sélection automatique est désactivée. A la
  place, le module va utiliser la liste de méthodes de négociation
  spécifiée pour dialoguer avec le serveur ACME (un type de
  négociation doit aussi être proposé par le serveur). Ces
  méthodes de négociation sont examinées dans l'ordre selon lequel
  elles sont spécifiées.
             </p>

        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdcertificateagreement" id="mdcertificateagreement">Directive</a> <a name="MDCertificateAgreement" id="MDCertificateAgreement">MDCertificateAgreement</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Acceptation des conditions d'utilisation de l'autorité de
 certification.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateAgreement accepted</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
     <p>Lorsque vous utilisez mod_md pour obtenir un certificat, vous
     devenez un client de l'autorité de certification (par exemple Let's
     Encrypt).  Cela signifie que vous devez lire et approuver leurs
     conditions d'utilisation, et donc que vous avez compris ce qu'ils
     ont à offrir, ce qu'ils ne fournissent pas, et ce que vous devez
     vous-même fournir.  mod_md ne peut pas de lui-même procéder à cet
     agrément à votre place.  </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdcertificateauthority" id="mdcertificateauthority">Directive</a> <a name="MDCertificateAuthority" id="MDCertificateAuthority">MDCertificateAuthority</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les URLs du service ACME de l'autorité de certification.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateAuthority <var>url</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCertificateAuthority letsencrypt</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>
                Les URLs auxquelles l'autorité de certication offre son service.
  Plutôt que l'URL proprement dite, vous pouvez spécifier
  'letsencrypt' ou 'buypass'.
            </p><p>
                Si vous spécifiez plusieurs URLs, chacune d'entre elles est
  testée en mode tourniquet ("round-robin") après un certain
  nombre d'échecs. Vous pouvez définir la rapidité de ce processus
  à l'aide des directives <code class="directive">MDRetryDelay</code> et
  <code class="directive">MDRetryFailover</code>. Par défaut, une demie
  journée d'essais infructueux est considérée comme un échec.
            </p><p>
                Tous les autres réglages s'appliquent à chacune de ces URLs. Il
  est ainsi par exemple impossible d'en avoir deux avec des
  directives <code class="directive">MDExternalAccountBinding</code>
  différentes.
     </p><p>
                A des fins de test, les CAs fournissent en général une seconde
  URL de service. Le service 'test' ne fournit pas de certificat
  valable pour un navigateur, mais il est moins regardant vis à
  vis des limites de vitesse. Il permet de tester votre
  configuration avant de passer à l'URL de service de production.
            </p>
            <div class="example"><h3>Configuration pour le mode test de Let's Encrypt</h3><pre class="prettyprint lang-config">MDCertificateAuthority https://acme-staging-v02.api.letsencrypt.org/directory</pre>
</div>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdcertificatecheck" id="mdcertificatecheck">Directive</a> <a name="MDCertificateCheck" id="MDCertificateCheck">MDCertificateCheck</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le motif de nom et d’URL pour un nom de site de
 vérification de certificat.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateCheck <var>name</var> <var>url</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP
 Apache</td></tr>
</table>
            <p>
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdcertificatefile" id="mdcertificatefile">Directive</a> <a name="MDCertificateFile" id="MDCertificateFile">MDCertificateFile</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un fichier de certificat statique pour le domaine géré.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateFile <var>path-to-pem-file</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>
                Cette directive s'utilise dans une section <code class="directive"><a href="#mdomainset">MDomainSet</a></code> et permet de spécifier le
  nom du fichier qui contiendra le certificat pour le
  domaine géré. La clé correspondante est spécifiée via la
  directive <code class="directive"><a href="#mdcertificatekeyfile">MDCertificateKeyFile</a></code>.
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><MDomain mydomain.com>
  MDCertificateFile /etc/ssl/my.cert
  MDCertificateKeyFile /etc/ssl/my.key
</MDomain></pre>
</div>

            <p>
                Cette directive est équivalente à la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> de mod_ssl. Elle
  s'utilise dans de nombreuses applications. 
            </p><p>
                Une première application est la migration de la gestion des
  certificats d'un domaine existant depuis le mode statique via des
  fichiers vers le mode automatique via Let's Encrypt. A cet
  effet, vous définissez tout d'abord la section <code class="directive"><a href="#mdomainset">MDomainSet</a></code> dans laquelle vous
  spécifiez les fichiers, puis supprimez la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> de la
  configuration de vos serveurs virtuels. 
            </p><p>
  Avec cette configuration, votre serveur fonctionnera comme
  avant, avec probablement moins de lignes répétitives. Vous
  pouvez alors ajouter la directive <code class="directive"><a href="#mdrenewmode">MDRenewMode</a></code> avec pour valeur
  "always", et le module obtiendra un nouveau cerificat avant que
  celui du fichier considéré n'arrive à expiration. Une fois le
  certificat renouvelé, vous pouvez supprimer la directive
  <code class="directive">MDCertificateFile</code> et
  recharger la configuration.
            </p><p>
                Une autre application est le renouvellement de vos certificats
  Let's Encrypt avec d'autres clients ACME comme l'excellent <a href="https://certbot.eff.org">certbot</a>. A cet effet, faites
  pointer vos domaines gérés vers les fichiers de certbot et ils
  travaillerons alors ensemble.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdcertificatekeyfile" id="mdcertificatekeyfile">Directive</a> <a name="MDCertificateKeyFile" id="MDCertificateKeyFile">MDCertificateKeyFile</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une clé privée statique pour le certificat
 statique.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateKeyFile <var>path-to-file</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>
                Cette directive s'utilise dans une section <code class="directive"><a href="#mdomainset">MDomainSet</a></code> et permet de spécifier le
  nom du fichier contenant la clé privée pour le domaine géré. Le
  certificat correspondant est spécifié via la directive
  <code class="directive"><a href="#mdcertificatefile">MDCertificateFile</a></code>.
            </p><p>
                Cette directive est équivalente à la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> de mod_ssl.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdcertificatemonitor" id="mdcertificatemonitor">Directive</a> <a name="MDCertificateMonitor" id="MDCertificateMonitor">MDCertificateMonitor</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL d'un moniteur d'enregistrement de certificat.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateMonitor name url</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCertificateMonitor crt.sh https://crt.sh?q=</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>
                Cette directive impacte l'interface utilisateur HTML 'server-status' et
  n'a rien à voir avec le fonctionnement de mod_md proprement dit.
  Elle permet de définir le lien qui s'affiche sur cette interface
  pour accéder facilement à un moniteur de certificat. L'empreinte
  SHA256 du certificat doit être ajoutée à l'URL spécifié.
            </p><p>
                Les moniteurs de certificat donnent accès aux enregistrements de
  la Certificate Transparency (CT) afin de tracer l'utilisation
  des certificats pour les domaines. Vous pourrez au moins
  vérifier si Let's Encrypt (ou tout autre CA que vous aurez
  défini) a bien inscrit votre certificat dans les enregistrements
  de CT.
            </p><p>
                Avertissement : La mise à jour des enregistrements des
  certificats et leur prise en compte par les moniteurs peut
  prendre un certain temps. Ce dernier varie en fonction des
  enregistreurs et des moniteurs. Un nouveau certificat ne sera
  donc pas connu immédiatement.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdcertificateprotocol" id="mdcertificateprotocol">Directive</a> <a name="MDCertificateProtocol" id="MDCertificateProtocol">MDCertificateProtocol</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le protocole à utiliser avec l'autorité de certification.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateProtocol <var>protocol</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCertificateProtocol ACME</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>Cette directive permet de spécifier le protocole à utiliser.
     Pour l'heure, seul le protocole <code>ACME</code> est supporté.</p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdcertificatestatus" id="mdcertificatestatus">Directive</a> <a name="MDCertificateStatus" id="MDCertificateStatus">MDCertificateStatus</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Extrait les informations publiques du certificat au format
 JSON.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateStatus on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCertificateStatus on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>
  Lorsque cette directive est à "on", vous disposez d'une
  ressource pour les domaines gérés à
  https://domain/.httpd/certificate-status qui renvoie un
  document au format JSON contenant une liste de propriétés
  concernant les clés, le certificat courant et, s'il est
  disponible, le certificat renouvelé.
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">{
  "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... }
}</pre>
</div>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdchallengedns01" id="mdchallengedns01">Directive</a> <a name="MDChallengeDns01" id="MDChallengeDns01">MDChallengeDns01</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la commande d'activation/désactivation des
 vérifications dns-01</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDChallengeDns01 <var>path-to-command</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>
  Cette directive permet de définir le programme à appeler
  lorsque la vérification "dns-01" doit être activée/désactivée. Le
  programme prend respectivement comme arguments "setup" ou
  "teardown" suivi du nom de domaine. Pour "setup", le programme
  prend comme argument supplémentaire les données de vérification
  "dns-01". Lorsque <code class="directive"><a href="#mdchallengedns01version">MDChallengeDns01Version</a></code> est définie
  à 2, `teardown` prend aussi comme argument le contenu de la
  vérification.
            </p><p>
                Tant que la méthode de vérification "http:" ou "https:" est
  valable, vous n'avez pas besoin de définir cette directive.
  Cependant, Let's Encrypt n'accepte que "dns-01" comme méthode de
  vérification valide pour les certificats génériques. Si vous
  avez besoin d'un tel certificat, vous devez alors définir cette
  directive.
            </p><p>
                Il est maintenant possible d'utiliser cette directive dans une
  section <code class="directive"><a href="#mdomain">MDomain</a></code> pour
  spécifier une commande spécifique au domaine considéré. Cela
  permet de configurer un script spécifique au fournisseur de DNS
  concerné.
            </p><p>    
                Reportez vous à la section sur les certificats génériques pour
  plus de détails.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdchallengedns01version" id="mdchallengedns01version">Directive</a> <a name="MDChallengeDns01Version" id="MDChallengeDns01Version">MDChallengeDns01Version</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type des arguments avec lesquels appeler
 MDChallengeDns01</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDChallengeDns01Version 1|2</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDChallengeDns01Version 1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.58 du serveur HTTP
 Apache</td></tr>
</table>
            <p>
                Cette directive permet de définir de quelle manière est invoquée
  la commande MDChallengeDns01, à savoir le nombre et le type de
  ses arguments. Voir <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code> pour les
  différences.
  Cette définition est globale et ne peut pas s'appliquer
  différemment pour chaque domaine.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdcheckinterval" id="mdcheckinterval">Directive</a> <a name="MDCheckInterval" id="MDCheckInterval">MDCheckInterval</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la périodicité de la vérification des certificats</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCheckInterval <var>duration</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCheckInterval 12h</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.60 du serveur HTTP
 Apache</td></tr>
</table>
     <p>
     Cette option permet de définir l’intervalle entre deux
     vérifications de certificat. Par défaut, la validité et le besoin de
     renouvellement sont vérifiés deux fois par jour. Cet intervalle
     n’est cependant pas appliqué avec précision. En effet, le module lui
     applique une plage de variation aléatoire de +/- 50%. Avec
     l’intervalle par défaut de 12 heures, cela signifie que l’intervalle
     réel entre deux vérifications varie entre 6 et 18 heures, la
     variation s’appliquant à nouveau à chaque vérification. Cela permet
     d’atténuer les pics de trafic sur les serveurs ACME.
            </p><p>
     La valeur minimale pouvant être définie pour l’intervalle est de
     1 seconde. Il est cependant déconseillé de définir un intervalle
     aussi court sur un serveur en production.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdcontactemail" id="mdcontactemail">Directive</a> <a name="MDContactEmail" id="MDContactEmail">MDContactEmail</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse Email pour l'enregistrement du compte</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDContactEmail <var>address</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP
 Apache</td></tr>
</table>
            <p>
                Lors de votre inscription, vous devez fournir une url de contact
  pour le protocole ACME. Actuellement, Let's Encrypt exige une
  adresse Email qu'il utilisera pour vous informer des
  renouvellements de certificats ou de toute modification des
  conditions d'utilisation. Pour obtenir cette adresse, <code class="module"><a href="../mod/mod_md.html">mod_md</a></code>
  utilise l'email spécifiée par la directive <code class="directive">MDContactEmail</code> dans
  votre configuration de httpd ; veillez par conséquent à bien
  spécifier une adresse correcte à ce niveau. Si la directive
  <code class="directive">MDContactEmail</code> n'est pas définie, <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> utilisera l'email
  spécifiée via la directive <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mddrivemode" id="mddrivemode">Directive</a> <a name="MDDriveMode" id="MDDriveMode">MDDriveMode</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ancien nom de MDRenewMode.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDDriveMode always|auto|manual</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDDriveMode auto</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
             <p>Cette directive est l'ancien nom de la directive <code class="directive"><a href="#mdrenewmode">MDRenewMode</a></code>, et n'est encore supportée
      qu'à titre de compatibilité ascendante.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdexternalaccountbinding" id="mdexternalaccountbinding">Directive</a> <a name="MDExternalAccountBinding" id="MDExternalAccountBinding">MDExternalAccountBinding</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les valeurs keyid et hmac de liaison avec les
 comptes externes à utiliser dans les CA</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDExternalAccountBinding <var>key-id</var> <var>hmac-64</var> | none | <var>file</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDExternalAccountBinding none</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.52 du serveur HTTP
 Apache</td></tr>
</table>
            <p>
                Cette directive permet de définir des valeurs pour associer des
  comptes externes avec ACME ("External Account Binding") ; c'est
  une fonctionnalité de la norme ACME qui permet à des clients
  d'associer des inscriptions à un compte client existant sur les
  serveurs ACME.
            </p>
            <p>
  Certains CAs ACME ont besoin de ces valeurs, mais ce n'est pas
  le cas pour Let's Encrypt. Vérifiez avec votre CA ACME si vous
  avez besoin de ces valeurs et la manière de les obtenir. Ces
  dernières se composent de deux chaînes : un identifiant de clé
  et une valeur 'hmac' codée en base64.
            </p>
            <p>
  Vous pouvez définir ces valeurs de manière globale ou pour un
  MDomain spécifique. Comme ces valeurs permettent à n'importe qui
  de s'inscrire sous le même compte, il est conseillé de
  restreindre les permissions d'accès au fichier de configuration
  (à root seulement, par exemple).
            </p>
            <p>
                Les valeurs peuvent aussi être extraites d'un fichier JSON pour
  conserver l'ouverture des permissions au niveau de la
  configuration du serveur et restreindre celles de ce fichier. Le
  fichier JSON sera du style :
            </p>
            <div class="example"><h3>Exemple de fichier EAB JSON</h3><pre class="prettyprint lang-config">{"kid": "kid-1", "hmac": "zWND..."}</pre>
</div>
            <p>
                Si vous modifiez les valeurs EAB, ce sont les nouvelles valeurs
  qui seront utilisées lors du prochain renouvellement de
  certificat.
             </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdhttpproxy" id="mdhttpproxy">Directive</a> <a name="MDHttpProxy" id="MDHttpProxy">MDHttpProxy</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un serveur mandataire pour les connexions
 sortantes.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDHttpProxy <var>url</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
     <p>Cette directive permet de spécifier un serveur http mandataire
     pour se connecter à l'autorité de certification spécifiée via
     <code class="directive"><a href="#mdcertificateauthority">MDCertificateAuthority</a></code>. Vous
     devez la définir si votre serveur web ne peut atteindre internet que
     via un serveur mandataire.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdmatchnames" id="mdmatchnames">Directive</a> <a name="MDMatchNames" id="MDMatchNames">MDMatchNames</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit comment les noms DNS sont comparés aux vhosts</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMatchNames all|servernames</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDMatchNames all</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.58 du serveur HTTP
 Apache</td></tr>
</table>
            <p>
                Le mode `all` correspond au comportement de toutes les versions
  précédentes. ServerName et ServerAlias sont inspectés pour
  trouver le MDomain qui correspond à un serveur virtuel. Les
  recouvrements sont automatiquement détectés, même si vous n'avez
  ajouté qu'un des noms à un MDomain.
            </p><p>
                Cet automatisme présente cependant des inconvénients avec les
  configurations plus complexes. Si vous définissez cette
  directive à `servernames`, seul le ServerName d'un serveur
  virtuel est inspecté pour la correspondance et les ServerAliases
  sont donc ignorés. Les Aliases seront tout de même ajoutés au
  certificat obtenu, à moins que vous ne spécifiiez aussi `MDMembers manual`.
            </p><p>
                `servernames` possède un autre avantage : il vous confère plus
  de souplesse avec les sous-domaines et les caractères
  génériques. Vous pouvez ainsi définir un MDomain avec un
  caractère générique et avoir d'autres MDomains pour des noms de
  sous-domaines spécifiques.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdmember" id="mdmember">Directive</a> <a name="MDMember" id="MDMember">MDMember</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte additionnel pour le domaine géré.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMember <var>hostname</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>
     Plutôt que de lister tous les noms DNS sur la même ligne, vous
     pouvez utiliser la directive <code class="directive">MDMember</code> pour
     ajouter des noms d'hôte à un domaine géré.
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><MDomain example.org>
    MDMember www.example.org
    MDMember mail.example.org
</MDomain></pre>
</div>
            <p>
               Si vous utilisez cette directive au niveau de la configuration
        globale, en dehors de tout serveur virtuel correspondant à un
        domaine géré, vous ne pouvez spécifier qu'une valeur, 'auto' ou
        'manual' comme mode par défaut pour tous les autres domaines
        gérés. Voir la directive <code class="directive"><a href="#mdomain">MDomain</a></code> pour une description de ces
        valeurs.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdmembers" id="mdmembers">Directive</a> <a name="MDMembers" id="MDMembers">MDMembers</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les alias de noms de domaines sont
 automatiquement ajoutés.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMembers auto|manual</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDMembers auto</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>Cette directive permet de définir si les valeurs de <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> sont automatiquement ajoutées
     en tant que membres d'un domaine géré.
            </p>
        
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mdmessagecmd" id="mdmessagecmd">Directive</a> <a name="MDMessageCmd" id="MDMessageCmd">MDMessageCmd</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Gère les évènements pour les domaines gérés</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
            <p>
  Cette directive permet de définir la commande à appeler
  lorsqu'un des évènements "renewed", "installed", "expiring" ou
  "errored" se produit pour un domaine géré. La commande sera
  probablement invoquée pour d'autres évènements dans le futur et
  ignorera les évènements pour lesquels elle n'aura pas été
  préparée.
            </p><p>
                Il s'agit d'une version plus souple de la directive
  <code class="directive"><a href="#mdnotifycmd">MDNotifyCmd</a></code>.
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDMessageCmd /etc/apache/md-message</pre>
<p><code>

# sera invoquée sous la forme "/etc/apache/md-message renewed mydomain.com"
# lorsqu'un nouveau certificat sera disponible pour le domaine mydomain.com
            </code></p></div>
            <p>
  Le programme ne doit pas être bloquant car le module attend
  qu'il se termine. Un code de retour autre que 0 doit indiquer
  une erreur d'exécution. 
            </p><p>
                "errored" n'est pas l'évènement à surveiller en priorité car le
  renouvellement du certificat est censé se produire suffisammant
  tôt pour éviter toute interruption de service. Cet évènement est
  signalé au plus une fois par heure.
            </p><p>
                L'évènement "expiring", quant à lui, doit être pris au sérieux.
  Il se produit lorsque la valeur de <code class="directive"><a href="#mdwarnwindow">MDWarnWindow</a></code> est atteinte. Par
  défaut, cette valeur correspond à 10% de la durée de vie du
  certificat, donc actuellement pour Let's Encrypt, 9 jours avant
  expiration du certificat. Le message d'avertissement est répété
  au plus une fois par jour.
            </p><p>
                'renewed' indique qu'un nouveau certificat a été obtenu et
  se trouve dans la zone intermédiaire du magasin MD. Il sera
  activé au prochain restart/reload du serveur.
            </p><p>
  'installed' indique qu'un nouveau certificat a été transféré
  depuis la zone intermédiaire vers la zone des domaines du
  magasin MD. Cet évènement se produit lors d'un restart/reload du
  serveur. A la différence des autres commandes,
  <code class="directive">MDMessageCmd</code> s'exécute avec les
  permissions de root (sur les systèmes *nix) et a donc accès aux
  fichiers de certificats (et aux clés). Les certificats
  nécessaires à d'autres applications ou possédant des formats
  différents peuvent être traités suite à cet évènement.
            </p><p>
                Un évènement de type 'renewing' est déclenché avant le démarrage
  du processus de renouvellement pour le domaine géré. Si dans ce
  cas la commande renvoie une valeur non nulle, le renouvellement
  sera interrompu et tenté à nouveau au cycle suivant. Certaines
  configurations de clusters l'utilisent pour n'effectuer le
  renouvellement que sur un seul noeud.
            </p><p>
                Un évènement de type 'challenge-setup:type:domain' est déclenché
  lorsque les données de vérification pour un domaine ont été
  créées. Il est invoqué avant qu'il soit demandé au serveur ACME
--> --------------------

--> maximum size reached

--> --------------------

[ 0.38Quellennavigators  Projekt   ]