summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod/mod_md.html.fr.utf8
blob: d439c253831a28ec4a65089ba5e9c5c1bc40d2f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
<?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="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <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">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_md.html" title="Français">&nbsp;fr&nbsp;</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

&lt;VirtualHost *:443&gt;
    ServerName example.org
    DocumentRoot htdocs/a

    SSLEngine on
    # aucun certificat spécifié
&lt;/VirtualHost&gt;</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">&lt;Location "/md-status"&gt;
  SetHandler md-status
&lt;/Location&gt;</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">&gt; curl https://&lt;yourhost&gt;/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">&lt;MDomain mydomain.net&gt;
  MDStapling on
&lt;/MDomain&gt;</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">&lt;MDomain mydomain.some-thing.ts.net&gt;
  MDCertificateProtocol tailscale
  MDCertificateAuthority file://localhost/var/run/tailscale/tailscaled.sock",
&lt;/MDomain&gt;</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="#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">&lt;MDomainSet&gt;</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="#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__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_md">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;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 /></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 /></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">&lt;MDomain mydomain.com&gt;
  MDCertificateFile /etc/ssl/my.cert
  MDCertificateKeyFile /etc/ssl/my.key
&lt;/MDomain&gt;</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 /></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 générée/détruite. 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 /></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="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 /></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 /></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&nbsp;: 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&nbsp;:
            </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 /></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">&lt;MDomain example.org&gt;
    MDMember www.example.org
    MDMember mail.example.org
&lt;/MDomain&gt;</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
		de les vérifier. type contient une des méthodes de vérification
		ACME. Il est invoqué pour chaque nom DNS d'un MDomain. Les
		configurations de clusters peuvent utiliser cet évènement pour
		distribuer les fichiers de vérification à tous les noeuds.
            </p><p>
		Un évènement de type ocsp-errored est déclenché lorsque le
		<code class="directive"><a href="#mdstapling">MDStapling</a></code> est activé
		pour un domaine, et indique qu'une erreur s'est produite en
		essayant d'obtenir la réponse OCSP  de l'autorité de
		certification. mod_md essaiera à nouveau d'obtenir cette
		réponse.		
            </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="mdmuststaple" id="mdmuststaple">Directive</a> <a name="MDMustStaple" id="MDMustStaple">MDMustStaple</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les nouveaux certificats doivent avoir le
	drapeau OCSP Must Staple activé.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMustStaple on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDMustStaple 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 les nouveaux certificats
	    doivent avoir le drapeau OCSP Must Staple activé ou non. Si un
	    certificat possède ce drapeau, le serveur devra envoyer une réponse
	    avec agrafage OCSP à chaque client. Ceci ne fonctionne que si vous
	    configurez <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> pour générer cette agrafe (voir la
	    directive <code class="directive"><a href="../mod/mod_ssl.html#sslusestapling">SSLUseStapling</a></code> et
	    ses directives dérivé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="mdnotifycmd" id="mdnotifycmd">Directive</a> <a name="MDNotifyCmd" id="MDNotifyCmd">MDNotifyCmd</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Lance un programme lorsqu'un domaine géré est opérationnel.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDNotifyCmd <var>path</var> [ <var>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 un programme à lancer lorsqu'un
	    domaine géré a obtenu ou renouvelé son certificat. Ce
	    programme reçoit le nom de domaine géré concerné comme
	    argument additionnel (après les paramètres spécifiés ici). Il doit
	    renvoyer un code d'état de 0 s'il s'est exécuté avec
	    succès.
            </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="mdomain" id="mdomain">Directive</a> <a name="MDomain" id="MDomain">MDomain</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une liste de noms de domaines qui appartiennent à
	un groupe.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDomain <var>dns-name</var> [ <var>other-dns-name</var>... ] [auto|manual]</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>
                Tous les domaines de la liste seront gérés par
		mod_md comme un seul domaine géré (Managed Domain - MD).
		mod_md ne demandera qu'un seul certificat qui
		sera valide pour tous ces noms de domaine. Cette directive
		s'utilise au niveau de la configuration globale (voir plus loin
		les autres directives MD). Si un domaine nécessite une
		configuration particulière, utilisez la directive <code class="directive"><a href="#mdomainset">&lt;MDomainSet&gt;</a></code>.
            </p><p>
		Deux définitions supplémentaires sont nécessaires pour un
		domaine géré : une adresse Email de contact (via <code class="directive"><a href="#mdcontactemail">MDContactEmail</a></code> ou <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>) et <code class="directive"><a href="#mdcertificateagreement">MDCertificateAgreement</a></code>.  L'adresse
		électronique du <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>
		permet de s'enregistrer auprès de l'autorité de certification
		(par défaut Let's Encrypt). L'autorité de certification
		l'utilisera pour vous informer à propos du statut de vos
		certificats ou d'éventuelles modifications de ses services.
            </p><p>
                La seconde définition, <code class="directive"><a href="#mdcertificateagreement">MDCertificateAgreement</a></code> doit avoir
		pour valeur "accepted". Vous confirmez ainsi que vous acceptez
		les conditions d'utilisation du CA.
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDContactEmail admin@example.org
MDCertificateAgreement accepted
MDomain example.org www.example.org

&lt;VirtualHost *:443&gt;
    ServerName example.org
    DocumentRoot htdocs/root

    SSLEngine on
&lt;/VirtualHost&gt;

&lt;VirtualHost *:443&gt;
    ServerName www.example.org
    DocumentRoot htdocs/www

    SSLEngine on
&lt;/VirtualHost&gt;</pre>
</div>
            <p>
                En plus de la liste des domaines gérés, cette directive accepte
		un paramètre supplémentaire qui peut prendre pour valeur
		'manual' ou 'auto'. Ce paramètre permet de définir si un domaine
		sera géré sous le nom spécifié dans la liste seul ('manual'),
		ou si tous les noms du serveur virtuel correspondant seront
		gérés ('auto'). C'est d'ailleurs cette dernière valeur qui
		est la valeur par défaut.
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDomain example.org

&lt;VirtualHost *:443&gt;
    ServerName example.org
    ServerAlias www.example.org
    DocumentRoot htdocs/root

    SSLEngine on
&lt;/VirtualHost&gt;

MDomain example2.org auto

&lt;VirtualHost *:443&gt;
    ServerName example2.org
    ServerAlias www.example2.org
    ...
&lt;/VirtualHost&gt;</pre>
</div>
	    <p> Dans cet exemple, le domaine 'www.example.org' est
	    automatiquement ajouté à la liste MD 'example.org'. De manière
	    similaire, le domaine 'www.example2.org' sera automatiquement ajouté
	    à la liste MD 'example2.org' pour laquelle 'auto' est explicitement
	    spécifié.  Chaque fois que vous ajouterez des noms à ces serveurs
	    virtuels via ServerAlias, ils seront ajoutés à la liste MD
	    correspondante.
            </p><p>
                Si vous préférez déclarer explicitement tous les noms de
		domaines, utilisez le mode 'manual'. Une erreur sera enregistrée
		dans le journal si les noms ne correspondent pas à ceux
		attendus.
            </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="mdomainsetsection" id="mdomainsetsection">Directive</a> <a name="MDomainSetsection" id="MDomainSetsection">&lt;MDomainSet&gt;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives à appliquer à un ou plusieurs
	domaines gérés.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]&gt;...&lt;/MDomainSet&gt;</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 équivalente à la directive <code class="directive"><a href="#mdomain">MDomain</a></code> avec la possibilité
		supplémentaire d'ajouter des paramètres seulement pour le
		domaine géré considéré. En fait, vous pouvez aussi utiliser
		"&lt;MDomain ..&gt;" à titre de raccourci.
            </p>
            <p>
                Cette directive permet de configurer un domaine géré en
		spécifiant un autre CA, ou d'autres paramètres de renouvellement
		des certificats, etc...
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">&lt;MDomain sandbox.example.org&gt;
    MDCertificateAuthority   https://someotherca.com/ACME
&lt;/MDomain&gt;</pre>
</div>
        <p>
            Cette configuration est souvent utilisée pour définir des paramètres
	    https: spécifiques à votre domaine.
        </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">&lt;MDomain example.org&gt;
    MDRequireHttps temporary
&lt;/MDomain&gt;</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="mdportmap" id="mdportmap">Directive</a> <a name="MDPortMap" id="MDPortMap">MDPortMap</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mappage des ports externes avec les ports internes pour
	vérifier à qui appartient le domaine.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDPortMap <var>map1</var> [ <var>map2</var> ]</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDPortMap http:80 https:443</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>
                Le protocole ACME propose deux méthodes pour vérifier à qui
		appartient le domaine via HTTP : la première utilise les URLs en
		"http:" (port 80) et la deuxième les URLs en "https:" (port
		443). Si votre serveur n'est accessible sur aucun
		de ces ports, ACME ne pourra fonctionner que si vous configurez
		votre serveur DNS de manière adéquate (voir la directive <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code>).
            </p><p>
                Sur la plupart des serveurs publics, "http:" arrive sur le
		port 80 et "https:" sur le port 443. Ce module vérifie les ports
		sur lesquels votre serveur Apache est en écoute et suppose
		qu'ils sont disponibles. Autrement dit, si votre serveur n'est
		pas en écoute sur le port 80, le module suppose que les requêtes
		en "http:" en provenance d'internet ne seront pas traitées.
            </p><p>
		Ce raisonnement est légitime, mais il peut s'avérer faux.
		Par exemple, même si votre serveur est effectivement en écoute
		sur le port 80, votre pare-feu peut bloquer ce dernier. "http:"
		ne sera alors disponible que sur votre intranet. Dans ce cas, le
		module va supposer de manière erronée que Let's Encrypt peut
		effectuer des vérifications en "http:" avec votre serveur. Ces
		dernières échouerons car elles auront été rejetées par votre
		pare-feu.
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDPortMap http:- https:8433</pre>
</div>
            <p>
                L'exemple précédent montre comment spécifier que les requêtes en
		"http:" en provenance d'internet n'arriveront jamais. En outre,
		il indique que les requêtes en "https:" arriveront sur le port
		8433.
            </p><p>
		Cette définition peut s'avérer nécessaire si vous faites de la
		redirection de port ; votre serveur peut ainsi être accessible
		depuis l' Internet sur le port 443, alors que le port local
		utilisé par httpd sera différent. Par exemple, votre serveur
		peut n'être en écoute que sur les ports 8443 et 8000, mais
		accessible depuis internet sur les ports 443 et 80.
            </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="mdprivatekeys" id="mdprivatekeys">Directive</a> <a name="MDPrivateKeys" id="MDPrivateKeys">MDPrivateKeys</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type et la taille des clés privées générées.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDPrivateKeys <var>type</var> [ <var>params</var>... ]</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDPrivateKeys RSA 2048</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 paramètres de construction
		des clés privées pour les domaines gérés. Vous pouvez configurer
		plusieurs types de clés privées et le module obtiendra un
		certificat pour chaque clé.
            </p><p>
                La recommandation actuelle (en 2017) est de 2048 bits au minimum,
		et une valeur inférieure ne sera pas acceptée. Des valeurs
		supérieures offriront une plus grande sécurité mais seront plus
		gourmandes en ressources, et augmenteront donc la charge de
		votre serveur, ce qui pourra (ou non) être gênant pour vous.
            </p><p>
                D'autres types de clés seront supportés dans le futur.
		Vous pouvez par exemple configurer une clé RSA et une clé
		Elliptic Curve (EC) de façon à ce que deux certificats soient
		créés pour le domaine concerné. Lors d'une connexion avec un
		client, c'est la première clé supportée par ce dernier qui sera
		utilisée.
            </p><p>
                Comme les clés et certificats EC sont plus petits, vous pouvez
		les proposer en premier pour tous les clients modernes
		compatibles, ce qui peut accélérer la phase de négociation.
		Ajoutez tout de même une clé RSA pour supporter les clients plus
		anciens.		
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDPrivateKeys secp256r1 rsa3072</pre>
</div>
            <p>
                Les types EC supportés dépendent du CA que vous utilisez. Par
		exemple, Let's encrypt supporte les courbes elliptiques
		'secp256r1' et 'secp384r1'.
            </p><p>
                Chaque type de clé et certificat est stocké dans son fichier
		propre au sein de l'espace de stockage MD. Le type de clé
		constitue une partie du nom de fichier avec une convention de
		nommage présentant une compatibilité ascendante avec les
		certificats RSA. Vous pouvez ainsi continuer à partager ces
		fichiers avec les autres applications.
            </p><p>
		
		Notez que cette directive n'aura d'effet que sur les nouvelles
		clés. Toute clé préexistante ne sera pas affectée. En outre,
		seules les clés privées générées pour les certificats sont
		concernées, les clés de comptes ACME n'étant pas affecté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="mdrenewmode" id="mdrenewmode">Directive</a> <a name="MDRenewMode" id="MDRenewMode">MDRenewMode</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle le renouvellement des certificats.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDRenewMode always|auto|manual</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDRenewMode 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>
		En mode "auto" (mode par défaut), le module va agir de la
		manière la plus opportune pour chaque domaine géré. Si un
		domaine ne possède pas de certificat, le module en demandera un
		à l'autorité de certification. 
            </p>
            <p>
		Si par contre vous avez défini un domaine géré qui n'est utilisé
		par aucun serveur virtuel, le module n'effectuera aucune demande
		de renouvellement. De même, pour les domaines gérés avec des
		fichiers de certificats statiques (voir <code class="directive"><a href="#mdcertificatefile">MDCertificateFile</a></code>), le module
		supposera que vous avez votre propre source et n'effectuera
		aucune demande de renouvellement.
            </p>
            <p>
                Avec le mode "always", le module renouvellera les certificats
		des modules gérés, même s'il ne sont pas utilisés ou
		possèdent un fichier de certificats statique.
            </p>
            <p>
                A l'opposé, avec le mode "manual", mod_md n'effectuera aucune
		demande automatique de renouvellement pour aucun 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="mdrenewwindow" id="mdrenewwindow">Directive</a> <a name="MDRenewWindow" id="MDRenewWindow">MDRenewWindow</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le moment auquel un certificat doit être renouvelé.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDRenewWindow <var>duration</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDRenewWindow 33%</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>
            Lorsqu'un certificat arrive à expiration, mod_md va
	    tenter d'en obtenir un nouveau signé.
            </p><p>
            Normalement, les certificats ont une validité de 90 jours, et
	    mod_md les renouvelle lorsqu'il leur reste 33% de
	    durée de vie (soit 30 jours pour une durée de vie de 90 jours). Si
	    cela ne correspond pas à ce que vous souhaitez, vous pouvez
	    spécifier une autre valeur comme dans les exemples suivants :
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># 21 jours avant expiration
MDRenewWindow 21d 
# 30 secondes (peut-être un peu juste !)
MDRenewWindow 30s
# lorsqu'il reste 10% de durée de vie au certificat
MDRenewWindow 10%</pre>
</div>
	    <p>En mode pilotage automatique, le module va vérifier le statut des
	    domaines gérés au moins toutes les 12 heures pour voir s'il y a
	    quelque chose à faire. En cas d'erreur, par exemple lorsque le CA
	    est inaccessible, il va dans un premier temps réessayer après
	    quelques secondes. Si l'erreur persiste, il va réduire son
	    intervalle de vérification de 12 à 1 heure.
            </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="mdrequirehttps" id="mdrequirehttps">Directive</a> <a name="MDRequireHttps" id="MDRequireHttps">MDRequireHttps</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Redirige le trafic http: vers https: pour les domaines
	gérés.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDRequireHttps off|temporary|permanent</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDRequireHttps 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 facilite la migration de vos domaines gérés de
	    http: vers https:. Dans l'exemple suivant,
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDRequireHttps temporary</pre>
</div>
            <p>vous indiquez que vous désirez que pour l'instant, tout le trafic via des URLs en
	    http: doit être redirigé vers des URLs en https:. Cette directive
	    est sans risque et vous pouvez la désactiver à tout moment.
            </p><p>
                <strong>Ce qui suit par contre, a des conséquences : </strong>si
		vous souhaitez que les clients <strong>n'utilisent plus</strong>
		d'URLs en http:, spécifiez :
            </p>
            <div class="example"><h3>Permanent (pour au moins 6 mois !)</h3><pre class="prettyprint lang-config">MDRequireHttps permanent</pre>
</div>
            <p>Cette directive a deux effets :
            </p>
            <ol>
                <li>Toutes les requêtes pour une ressource en <code>http:</code>
		sont redirigées vers la même requête en remplaçant le protocole
		<code>http:</code> par <code>https:</code> et en renvoyant le code
		d'état <code>301</code>. Ce dernier indique aux clients que
		cette modification est permanente et qu'ils doivent mettre à
		jour leurs liens en conséquence.
                </li>
		<li>Toutes les réponses aux requêtes en <code>https:</code>
		comporteront l'en-tête <code>Strict-Transport-Security</code>
		avec une durée de vie de six mois. Cela indique au navigateur
		qu'il ne devra <strong>jamais</strong> utiliser
		<code>http:</code> (pendant six mois) lorsqu'il formulera une
		requête pour le domaine concerné.  Avec cette information, les
		navigateurs refuseront de contacter votre site en mode non
		chiffré. Ceci interdit à des middlewares malicieux de dégrader
		les connexions et d'écouter/manipuler le trafic. C'est une bonne
		chose, mais cette configuration ne peut pas être désactivée
		aussi simplement que la configuration temporaire ci-dessus.
                </li>
            </ol>
            <p>Vous pouvez obtenir le même résultat de manière simple avec
	    <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> et une configuration basée sur la
	    directive <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>. Si
	    vous le faites vous-même, assurez-vous d'exclure les chemins
	    /.well-known/* de votre redirection, sinon mod_md
	    aura des difficultés pour signer les nouveaux certificats.
            </p>
            <p>Si vous effectuez cette configuration au niveau global, elle
	    s'appliquera à tous les domaines gérés. Si vous souhaitez qu'elle ne
	    s'applique qu'à un domaine spécifique, utilisez :
            </p>
            <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">&lt;MDomain xxx.yyy&gt;
  MDRequireHttps temporary
&lt;/MDomain&gt;</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="mdretrydelay" id="mdretrydelay">Directive</a> <a name="MDRetryDelay" id="MDRetryDelay">MDRetryDelay</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDRetryDelay <var>duration</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDRetryDelay 5s</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.54 du serveur HTTP
	Apache</td></tr>
</table>
            <p>
                Le temps d'attente après une erreur avant de tenter à nouveau le
		renouvellement d'un certificat. Ce temps est doublé après chaque
		erreur consécutive avec un maximum de 24 heures.
            </p>
            <p>
                Ce temps d'attente est spécifique à chaque renouvellement de
		certificat. Autrement dit, une erreur sur un MDomain ne retarde
		pas les renouvellements des autres domaines.
            </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="mdretryfailover" id="mdretryfailover">Directive</a> <a name="MDRetryFailover" id="MDRetryFailover">MDRetryFailover</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDRetryFailover <var>number</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDRetryFailover 13</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.54 du serveur HTTP
	Apache</td></tr>
</table>
            <p>
                Le nombre d'erreurs consécutives lors du renouvellement d'un
		certificat avant la sélection d'une autre CA. Ne s'applique
		qu'aux configurations pour lesquelles plusieurs
		<code class="directive">MDCertificateAuthority</code> ont été
		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="mdserverstatus" id="mdserverstatus">Directive</a> <a name="MDServerStatus" id="MDServerStatus">MDServerStatus</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les informations à propos des domaines gérés
	sont ajoutés ou non à server-status.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDServerStatus on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDServerStatus 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>
                Le gestionnaire d'Apache "server-status" vous permet de
		configurer une ressource pour monitorer le fonctionnement du
		serveur. Cette ressource inclut maintenant une section indiquant
		tous les domaines gérés avec leur nom DNS, l'état de
		renouvellement du certificat, la durée de vie de ce dernier,
		ainsi que d'autres propriétés fondamentales.
            </p><p>
                Cette directive permet d'activer/désactiver cette ressource.
            </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="mdstapleothers" id="mdstapleothers">Directive</a> <a name="MDStapleOthers" id="MDStapleOthers">MDStapleOthers</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'agrafage pour les certificats non gérés par
	mod_md.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStapleOthers on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStapleOthers 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>
<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>
		Cette directive n'a d'effet que si <code class="directive"><a href="#mdstapling">MDStapling</a></code> est activée.  Elle permet
		de contrôler si <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> doit aussi fournir les
		informations d'agrafage pour les certificats qu'il ne gère pas
		directement (autrement dit pour les certificats non renouvelés
		via le protocole ACME).
            </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="mdstapling" id="mdstapling">Directive</a> <a name="MDStapling" id="MDStapling">MDStapling</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'agrafage pour un ou plusieurs domaines.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStapling on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStapling 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>
<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>
		<code class="module"><a href="../mod/mod_md.html">mod_md</a></code> permet l'obtention des informations
		d'agrafage OCSP.  Cette fonctionnalité est une alternative à
		celle fournie par <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Elle est désactivée
		par défaut à des fins de compatibilité ascendante.
            </p><p>
                La fonctionnalité peut être activée pour tous les certificats du
		serveur ou pour un <code class="directive"><a href="#mdomain">MDomain</a></code> seulement, ce qui aura pour effet
		de remplacer toute configuration d'agrafage au niveau de
		<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> pour ce(s) domaine(s). Lorsqu'elle est désactivée,
		l'agrafage de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> se chargera du travail (s'il a été
		lui-même activé, bien entendu). Ceci permet de basculer de
		manière graduée d'une implémentation à l'autre.
            </p><p>
		L'agrafage fonctionne aussi pour les domaines non gérés par
		<code class="module"><a href="../mod/mod_md.html">mod_md</a></code> (voir à ce sujet la directive <code class="directive"><a href="#mdstapleothers">MDStapleOthers</a></code>). En fait, l'agrafage
		OCSP peut très bien être utilisé en l'absence de tout certificat
		géré via le protocole ACME.
            </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="mdstaplingkeepresponse" id="mdstaplingkeepresponse">Directive</a> <a name="MDStaplingKeepResponse" id="MDStaplingKeepResponse">MDStaplingKeepResponse</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la durée au bout de laquelle les anciennes
	réponses doivent être supprimées.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStaplingKeepResponse <var>duration</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStaplingKeepResponse 7d</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>
                Cette directive permet de spécifier la durée au bout de laquelle
		les données OCSP utilisées pour l'agrafage doivent être
		supprimées du magasin. Par défaut, ces informations sont
		supprimées lors d'un restart/reload du serveur si elles ont plus
		de sept jours. Ceci permet de limiter la taille du magasin
		lorsque les certificats sont renouvelés et/ou reconfigurés
		fréquemment.
            </p><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="mdstaplingrenewwindow" id="mdstaplingrenewwindow">Directive</a> <a name="MDStaplingRenewWindow" id="MDStaplingRenewWindow">MDStaplingRenewWindow</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle l'ancienneté des réponses OCSP au dela de laquelle
	ces dernières seront renouvelées.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStaplingRenewWindow <var>duration</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStaplingRenewWindow 33%</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>
		Si la durée de validité d'un réponse OCSP passe en dessous de
		<var>duration</var>, <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> va tenter de la
		renouveler.
            </p><p>
                La CA à l'origine du certificat fournit aussi en général le
		service de réponse OCSP et détermine la durée de validité de sa
		réponse signée à propos de la validité du certificat. Plus
		longtemps une réponse sera valide, plus longtemps elle pourra
		être mise en cache, ce qui arrange tout le monde en matière de
		performances. Plus courte sera la validité d'une réponse, plus
		vite seront envoyées des révocations de certificats aux clients.
		Il est donc important de prendre en compte la qualité de
		service.
            </p><p>
                En ajustant la durée de validité des réponses vous-même, vous
		pouvez contrôler une partie du processus. Si vous spécifiez une
		durée de vie importante (autrement dit si vous spécifiez un
		petit pourcentage de validité avant que l'information n'expire),
		vous assurer un temps de mise en cache maximal, mais une
		interruption du service OCSP (par exemple un arrêt pour
		maintenance) aura plus de chance de vous affecter. Si vous
		spécifiez un pourcentage de temps avant expiration plus
		important, les mises à jour seront plus fréquentes, ce qui va
		augmenter la charge de l'infrastructure de serveurs du CA et
		nécessiter d'avantage de coordination entre les processus
		enfants de votre propre serveur.
            </p><p>
                La valeur par défaut choisie est de 33%, ce qui signifie que la
		demande de renouvellement interviendra lorsque la durée de vie
		de la réponse OCSP passera en dessous de 33%. Pour une CA qui
		fournit des réponses OCSP avec une durée de vie de 3 jours, cela
		implique 2 jours de mise en cache et 1 jour pour les tentatives
		de renouvellement. Pour affecter votre domaine, une interruption
		de service devra donc avoir une durée supérieure à 1 jour.
            </p><p>
                Vous pouvez aussi définir de manière absolue la durée de vie
		restante, par exemple `2d` pour 2 jours. 
            </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="mdstoredir" id="mdstoredir">Directive</a> <a name="MDStoreDir" id="MDStoreDir">MDStoreDir</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin dans le système de fichiers local du répertoire où
	seront stockées les données à propos des domaines gérés.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStoreDir <var>path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStoreDir md</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 répertoire dans le système
		de fichiers local où seront stockées les données à propos des
		domaines gérés. Il s'agit d'un chemin absolu ou relatif à la
		racine du serveur. Par défaut, le répertoire "md" sera créé à la
		racine de votre serveur.
            </p><p>
		Si vous souhaitez changer de répertoire et si ce dernier
		contient déjà des données, copiez tout d'abord les données vers
		le nouveau répertoire, puis modifier la configuration et
		redémarrez le serveur. Si vous commencez par modifier la
		configuration et redémarrer le serveur sans copier les données,
		ce dernier croira que les certificats sont absents et il tentera
		d'en obtenir de nouveaux.
            </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="mdstorelocks" id="mdstorelocks">Directive</a> <a name="MDStoreLocks" id="MDStoreLocks">MDStoreLocks</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStoreLocks on|off|<var>duration</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStoreLocks 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>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.55 du serveur HTTP
	Apache</td></tr>
</table>
            <p>
                Définissez cette directive pour utiliser un fichier verrou au
		démarrage du serveur lorsque <code class="directive">MDStoreDir</code>
		est synchronisé avec la configuration du serveur et si les
		certificats renouvelés sont activés.
            </p><p>
                Le verrouillage a été implémenté pour les configurations de
		cluster où MDStoreDir appartient à un système de fichiers
		partagé. L'activation des certificats renouvelés sera alors
		protégée lorsque plusieurs noeuds du cluster sont redémarrés ou
		reconfigurés simultanément ; ceci à condition bien entendu que
		le système de fichiers partagé prenne en charge le verrouillage
		de fichier.
            </p><p>
                Le temps d'attente par défaut pour obtenir le verrou est de 5
		secondes. Si le verrou ne peut pas être obtenu, une erreur est
		enregistrée dans le journal et le démarrage du serveur se
		poursuit ; de ce fait, un des noeuds du cluster pourra encore
		utiliser les anciens certificats par la suite.
            </p><p>
                Un délai d'attente plus long réduira cette probabilité, mais
		pourra aussi retarder les redémarrages et reconfigurations du
		serveur dans le cas où les verrous ne sont pas correctement
		gérés dans le système de fichiers sous-jacent. Un verrou ne doit
		être maintenu par une instance de httpd que pendant une courte
		durée.
            </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="mdwarnwindow" id="mdwarnwindow">Directive</a> <a name="MDWarnWindow" id="MDWarnWindow">MDWarnWindow</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la fenêtre de temps pendant laquelle vous serez
	informé de l'expiration prochaine d'un certificat.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDWarnWindow duration</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDWarnWindow 10%</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>
                Voir la directive <code class="directive"><a href="#mdrenewwindow">MDRenewWindow</a></code> pour une description
		de la méthode à employer pour spécifier cette durée.
            </p><p>
                Le module inspecte la durée de vie restante des certificats et
		invoque <code class="directive"><a href="#mdmessagecmd">MDMessageCmd</a></code>
		lorsqu'une de ces durées devient inférieure à la fenêtre de
		temps spécifiée. Si l'on conserve la valeur par défaut, cette
		durée correspond à 9 jours pour les certificats de Let's
		Encrypt.
            </p><p>
                Cette directive s'applique aussi aux domaines gérés via des
		fichiers de certificats statiques (voir la directive <code class="directive"><a href="#mdcertificatefile">MDCertificateFile</a></code>).
            </p>
        
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_md.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_md.html" title="Français">&nbsp;fr&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_md.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<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></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>