Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 18.191.117.103
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
apache /
manual /
mod /
[ HOME SHELL ]
Name
Size
Permission
Action
core.html
535
B
-rw-r--r--
core.html.de
238.47
KB
-rw-r--r--
core.html.en
293.44
KB
-rw-r--r--
core.html.es
262.51
KB
-rw-r--r--
core.html.fr.utf8
324.56
KB
-rw-r--r--
core.html.ja.utf8
254.26
KB
-rw-r--r--
core.html.tr.utf8
313.84
KB
-rw-r--r--
directive-dict.html
598
B
-rw-r--r--
directive-dict.html.en
17.79
KB
-rw-r--r--
directive-dict.html.es
19.47
KB
-rw-r--r--
directive-dict.html.fr.utf8
19.11
KB
-rw-r--r--
directive-dict.html.ja.utf8
20.06
KB
-rw-r--r--
directive-dict.html.ko.euc-kr
15.65
KB
-rw-r--r--
directive-dict.html.tr.utf8
19.11
KB
-rw-r--r--
directives.html
760
B
-rw-r--r--
directives.html.de
57.67
KB
-rw-r--r--
directives.html.en
57.54
KB
-rw-r--r--
directives.html.es
57.83
KB
-rw-r--r--
directives.html.fr.utf8
57.65
KB
-rw-r--r--
directives.html.ja.utf8
57.74
KB
-rw-r--r--
directives.html.ko.euc-kr
57.39
KB
-rw-r--r--
directives.html.tr.utf8
57.57
KB
-rw-r--r--
directives.html.zh-cn.utf8
57.41
KB
-rw-r--r--
event.html
201
B
-rw-r--r--
event.html.en
28.84
KB
-rw-r--r--
event.html.fr.utf8
31.36
KB
-rw-r--r--
index.html
720
B
-rw-r--r--
index.html.de
23.21
KB
-rw-r--r--
index.html.en
22.93
KB
-rw-r--r--
index.html.es
23.49
KB
-rw-r--r--
index.html.fr.utf8
25.14
KB
-rw-r--r--
index.html.ja.utf8
24.2
KB
-rw-r--r--
index.html.ko.euc-kr
22.37
KB
-rw-r--r--
index.html.tr.utf8
23.2
KB
-rw-r--r--
index.html.zh-cn.utf8
22.81
KB
-rw-r--r--
mod_access_compat.html
322
B
-rw-r--r--
mod_access_compat.html.en
28.41
KB
-rw-r--r--
mod_access_compat.html.fr.utf8
31.22
KB
-rw-r--r--
mod_access_compat.html.ja.utf8
30.51
KB
-rw-r--r--
mod_actions.html
489
B
-rw-r--r--
mod_actions.html.de
13.78
KB
-rw-r--r--
mod_actions.html.en
12.72
KB
-rw-r--r--
mod_actions.html.fr.utf8
13.32
KB
-rw-r--r--
mod_actions.html.ja.utf8
14.43
KB
-rw-r--r--
mod_actions.html.ko.euc-kr
12.37
KB
-rw-r--r--
mod_alias.html
479
B
-rw-r--r--
mod_alias.html.en
36.82
KB
-rw-r--r--
mod_alias.html.fr.utf8
40.04
KB
-rw-r--r--
mod_alias.html.ja.utf8
28.55
KB
-rw-r--r--
mod_alias.html.ko.euc-kr
22.95
KB
-rw-r--r--
mod_alias.html.tr.utf8
39.33
KB
-rw-r--r--
mod_allowmethods.html
223
B
-rw-r--r--
mod_allowmethods.html.en
8.09
KB
-rw-r--r--
mod_allowmethods.html.fr.utf8
8.4
KB
-rw-r--r--
mod_asis.html
386
B
-rw-r--r--
mod_asis.html.en
8.9
KB
-rw-r--r--
mod_asis.html.fr.utf8
9.18
KB
-rw-r--r--
mod_asis.html.ja.utf8
9.74
KB
-rw-r--r--
mod_asis.html.ko.euc-kr
8.47
KB
-rw-r--r--
mod_auth_basic.html
410
B
-rw-r--r--
mod_auth_basic.html.en
19.57
KB
-rw-r--r--
mod_auth_basic.html.fr.utf8
21.6
KB
-rw-r--r--
mod_auth_basic.html.ja.utf8
16.32
KB
-rw-r--r--
mod_auth_basic.html.ko.euc-kr
13.84
KB
-rw-r--r--
mod_auth_digest.html
319
B
-rw-r--r--
mod_auth_digest.html.en
20.11
KB
-rw-r--r--
mod_auth_digest.html.fr.utf8
21.9
KB
-rw-r--r--
mod_auth_digest.html.ko.euc-kr
20.41
KB
-rw-r--r--
mod_auth_form.html
217
B
-rw-r--r--
mod_auth_form.html.en
50.41
KB
-rw-r--r--
mod_auth_form.html.fr.utf8
54.73
KB
-rw-r--r--
mod_authn_anon.html
410
B
-rw-r--r--
mod_authn_anon.html.en
16.5
KB
-rw-r--r--
mod_authn_anon.html.fr.utf8
17.97
KB
-rw-r--r--
mod_authn_anon.html.ja.utf8
18.47
KB
-rw-r--r--
mod_authn_anon.html.ko.euc-kr
16.05
KB
-rw-r--r--
mod_authn_core.html
219
B
-rw-r--r--
mod_authn_core.html.en
16.42
KB
-rw-r--r--
mod_authn_core.html.fr.utf8
17.58
KB
-rw-r--r--
mod_authn_dbd.html
217
B
-rw-r--r--
mod_authn_dbd.html.en
15.09
KB
-rw-r--r--
mod_authn_dbd.html.fr.utf8
16.31
KB
-rw-r--r--
mod_authn_dbm.html
406
B
-rw-r--r--
mod_authn_dbm.html.en
12.69
KB
-rw-r--r--
mod_authn_dbm.html.fr.utf8
13.59
KB
-rw-r--r--
mod_authn_dbm.html.ja.utf8
13.07
KB
-rw-r--r--
mod_authn_dbm.html.ko.euc-kr
11.09
KB
-rw-r--r--
mod_authn_file.html
410
B
-rw-r--r--
mod_authn_file.html.en
11.42
KB
-rw-r--r--
mod_authn_file.html.fr.utf8
12.21
KB
-rw-r--r--
mod_authn_file.html.ja.utf8
12.44
KB
-rw-r--r--
mod_authn_file.html.ko.euc-kr
10.54
KB
-rw-r--r--
mod_authn_socache.html
225
B
-rw-r--r--
mod_authn_socache.html.en
18.82
KB
-rw-r--r--
mod_authn_socache.html.fr.utf8
20.67
KB
-rw-r--r--
mod_authnz_fcgi.html
221
B
-rw-r--r--
mod_authnz_fcgi.html.en
26.98
KB
-rw-r--r--
mod_authnz_fcgi.html.fr.utf8
29.33
KB
-rw-r--r--
mod_authnz_ldap.html
221
B
-rw-r--r--
mod_authnz_ldap.html.en
84.3
KB
-rw-r--r--
mod_authnz_ldap.html.fr.utf8
86.91
KB
-rw-r--r--
mod_authz_core.html
219
B
-rw-r--r--
mod_authz_core.html.en
37.04
KB
-rw-r--r--
mod_authz_core.html.fr.utf8
40.05
KB
-rw-r--r--
mod_authz_dbd.html
217
B
-rw-r--r--
mod_authz_dbd.html.en
18.2
KB
-rw-r--r--
mod_authz_dbd.html.fr.utf8
19.98
KB
-rw-r--r--
mod_authz_dbm.html
313
B
-rw-r--r--
mod_authz_dbm.html.en
12.86
KB
-rw-r--r--
mod_authz_dbm.html.fr.utf8
13.75
KB
-rw-r--r--
mod_authz_dbm.html.ko.euc-kr
10.39
KB
-rw-r--r--
mod_authz_groupfile.html
430
B
-rw-r--r--
mod_authz_groupfile.html.en
10.4
KB
-rw-r--r--
mod_authz_groupfile.html.fr.ut...
10.93
KB
-rw-r--r--
mod_authz_groupfile.html.ja.ut...
9.9
KB
-rw-r--r--
mod_authz_groupfile.html.ko.eu...
8.8
KB
-rw-r--r--
mod_authz_host.html
219
B
-rw-r--r--
mod_authz_host.html.en
13.39
KB
-rw-r--r--
mod_authz_host.html.fr.utf8
14.35
KB
-rw-r--r--
mod_authz_owner.html
414
B
-rw-r--r--
mod_authz_owner.html.en
11.29
KB
-rw-r--r--
mod_authz_owner.html.fr.utf8
11.92
KB
-rw-r--r--
mod_authz_owner.html.ja.utf8
12.93
KB
-rw-r--r--
mod_authz_owner.html.ko.euc-kr
11.1
KB
-rw-r--r--
mod_authz_user.html
410
B
-rw-r--r--
mod_authz_user.html.en
8.11
KB
-rw-r--r--
mod_authz_user.html.fr.utf8
8.37
KB
-rw-r--r--
mod_authz_user.html.ja.utf8
7.39
KB
-rw-r--r--
mod_authz_user.html.ko.euc-kr
6.85
KB
-rw-r--r--
mod_autoindex.html
499
B
-rw-r--r--
mod_autoindex.html.en
60.78
KB
-rw-r--r--
mod_autoindex.html.fr.utf8
67.28
KB
-rw-r--r--
mod_autoindex.html.ja.utf8
64.92
KB
-rw-r--r--
mod_autoindex.html.ko.euc-kr
50.19
KB
-rw-r--r--
mod_autoindex.html.tr.utf8
66.14
KB
-rw-r--r--
mod_brotli.html
211
B
-rw-r--r--
mod_brotli.html.en
21.14
KB
-rw-r--r--
mod_brotli.html.fr.utf8
22.5
KB
-rw-r--r--
mod_buffer.html
211
B
-rw-r--r--
mod_buffer.html.en
9.06
KB
-rw-r--r--
mod_buffer.html.fr.utf8
9.57
KB
-rw-r--r--
mod_cache.html
390
B
-rw-r--r--
mod_cache.html.en
68.08
KB
-rw-r--r--
mod_cache.html.fr.utf8
74.14
KB
-rw-r--r--
mod_cache.html.ja.utf8
52.35
KB
-rw-r--r--
mod_cache.html.ko.euc-kr
38.51
KB
-rw-r--r--
mod_cache_disk.html
410
B
-rw-r--r--
mod_cache_disk.html.en
20.1
KB
-rw-r--r--
mod_cache_disk.html.fr.utf8
21.26
KB
-rw-r--r--
mod_cache_disk.html.ja.utf8
18.36
KB
-rw-r--r--
mod_cache_disk.html.ko.euc-kr
15.72
KB
-rw-r--r--
mod_cache_socache.html
225
B
-rw-r--r--
mod_cache_socache.html.en
18.28
KB
-rw-r--r--
mod_cache_socache.html.fr.utf8
19.06
KB
-rw-r--r--
mod_cern_meta.html
313
B
-rw-r--r--
mod_cern_meta.html.en
11
KB
-rw-r--r--
mod_cern_meta.html.fr.utf8
11.56
KB
-rw-r--r--
mod_cern_meta.html.ko.euc-kr
10.54
KB
-rw-r--r--
mod_cgi.html
382
B
-rw-r--r--
mod_cgi.html.en
18.42
KB
-rw-r--r--
mod_cgi.html.fr.utf8
20.06
KB
-rw-r--r--
mod_cgi.html.ja.utf8
19.72
KB
-rw-r--r--
mod_cgi.html.ko.euc-kr
16.31
KB
-rw-r--r--
mod_cgid.html
386
B
-rw-r--r--
mod_cgid.html.en
11.56
KB
-rw-r--r--
mod_cgid.html.fr.utf8
12.15
KB
-rw-r--r--
mod_cgid.html.ja.utf8
12.2
KB
-rw-r--r--
mod_cgid.html.ko.euc-kr
10.7
KB
-rw-r--r--
mod_charset_lite.html
322
B
-rw-r--r--
mod_charset_lite.html.en
15.35
KB
-rw-r--r--
mod_charset_lite.html.fr.utf8
16.54
KB
-rw-r--r--
mod_charset_lite.html.ko.euc-k...
14.28
KB
-rw-r--r--
mod_data.html
207
B
-rw-r--r--
mod_data.html.en
7.49
KB
-rw-r--r--
mod_data.html.fr.utf8
7.68
KB
-rw-r--r--
mod_dav.html
382
B
-rw-r--r--
mod_dav.html.en
17.91
KB
-rw-r--r--
mod_dav.html.fr.utf8
19.45
KB
-rw-r--r--
mod_dav.html.ja.utf8
20.66
KB
-rw-r--r--
mod_dav.html.ko.euc-kr
17.71
KB
-rw-r--r--
mod_dav_fs.html
394
B
-rw-r--r--
mod_dav_fs.html.en
10.75
KB
-rw-r--r--
mod_dav_fs.html.fr.utf8
11.4
KB
-rw-r--r--
mod_dav_fs.html.ja.utf8
10.6
KB
-rw-r--r--
mod_dav_fs.html.ko.euc-kr
10.17
KB
-rw-r--r--
mod_dav_lock.html
307
B
-rw-r--r--
mod_dav_lock.html.en
9.76
KB
-rw-r--r--
mod_dav_lock.html.fr.utf8
10.32
KB
-rw-r--r--
mod_dav_lock.html.ja.utf8
10.51
KB
-rw-r--r--
mod_dbd.html
205
B
-rw-r--r--
mod_dbd.html.en
24.71
KB
-rw-r--r--
mod_dbd.html.fr.utf8
26.94
KB
-rw-r--r--
mod_deflate.html
398
B
-rw-r--r--
mod_deflate.html.en
28.35
KB
-rw-r--r--
mod_deflate.html.fr.utf8
30.4
KB
-rw-r--r--
mod_deflate.html.ja.utf8
31.06
KB
-rw-r--r--
mod_deflate.html.ko.euc-kr
26.17
KB
-rw-r--r--
mod_dialup.html
211
B
-rw-r--r--
mod_dialup.html.en
7.49
KB
-rw-r--r--
mod_dialup.html.fr.utf8
7.81
KB
-rw-r--r--
mod_dir.html
469
B
-rw-r--r--
mod_dir.html.en
22.39
KB
-rw-r--r--
mod_dir.html.fr.utf8
24.43
KB
-rw-r--r--
mod_dir.html.ja.utf8
19.66
KB
-rw-r--r--
mod_dir.html.ko.euc-kr
16.53
KB
-rw-r--r--
mod_dir.html.tr.utf8
23.66
KB
-rw-r--r--
mod_dumpio.html
301
B
-rw-r--r--
mod_dumpio.html.en
9.62
KB
-rw-r--r--
mod_dumpio.html.fr.utf8
9.99
KB
-rw-r--r--
mod_dumpio.html.ja.utf8
10.32
KB
-rw-r--r--
mod_echo.html
386
B
-rw-r--r--
mod_echo.html.en
7.44
KB
-rw-r--r--
mod_echo.html.fr.utf8
7.58
KB
-rw-r--r--
mod_echo.html.ja.utf8
7.88
KB
-rw-r--r--
mod_echo.html.ko.euc-kr
7.55
KB
-rw-r--r--
mod_env.html
469
B
-rw-r--r--
mod_env.html.en
11.6
KB
-rw-r--r--
mod_env.html.fr.utf8
12.08
KB
-rw-r--r--
mod_env.html.ja.utf8
11.07
KB
-rw-r--r--
mod_env.html.ko.euc-kr
9.9
KB
-rw-r--r--
mod_env.html.tr.utf8
11.72
KB
-rw-r--r--
mod_example_hooks.html
325
B
-rw-r--r--
mod_example_hooks.html.en
11.2
KB
-rw-r--r--
mod_example_hooks.html.fr.utf8
11.9
KB
-rw-r--r--
mod_example_hooks.html.ko.euc-...
10.76
KB
-rw-r--r--
mod_expires.html
398
B
-rw-r--r--
mod_expires.html.en
16.71
KB
-rw-r--r--
mod_expires.html.fr.utf8
17.81
KB
-rw-r--r--
mod_expires.html.ja.utf8
18.29
KB
-rw-r--r--
mod_expires.html.ko.euc-kr
15.08
KB
-rw-r--r--
mod_ext_filter.html
410
B
-rw-r--r--
mod_ext_filter.html.en
18.22
KB
-rw-r--r--
mod_ext_filter.html.fr.utf8
19.71
KB
-rw-r--r--
mod_ext_filter.html.ja.utf8
22.86
KB
-rw-r--r--
mod_ext_filter.html.ko.euc-kr
18.94
KB
-rw-r--r--
mod_file_cache.html
316
B
-rw-r--r--
mod_file_cache.html.en
15.4
KB
-rw-r--r--
mod_file_cache.html.fr.utf8
17.64
KB
-rw-r--r--
mod_file_cache.html.ko.euc-kr
14.45
KB
-rw-r--r--
mod_filter.html
211
B
-rw-r--r--
mod_filter.html.en
31.22
KB
-rw-r--r--
mod_filter.html.fr.utf8
34.81
KB
-rw-r--r--
mod_headers.html
398
B
-rw-r--r--
mod_headers.html.en
33.85
KB
-rw-r--r--
mod_headers.html.fr.utf8
37.21
KB
-rw-r--r--
mod_headers.html.ja.utf8
25.01
KB
-rw-r--r--
mod_headers.html.ko.euc-kr
19.54
KB
-rw-r--r--
mod_heartbeat.html
217
B
-rw-r--r--
mod_heartbeat.html.en
9.55
KB
-rw-r--r--
mod_heartbeat.html.fr.utf8
9.8
KB
-rw-r--r--
mod_heartmonitor.html
223
B
-rw-r--r--
mod_heartmonitor.html.en
12.12
KB
-rw-r--r--
mod_heartmonitor.html.fr.utf8
12.65
KB
-rw-r--r--
mod_http2.html
209
B
-rw-r--r--
mod_http2.html.en
62.64
KB
-rw-r--r--
mod_http2.html.fr.utf8
66.38
KB
-rw-r--r--
mod_ident.html
390
B
-rw-r--r--
mod_ident.html.en
9.94
KB
-rw-r--r--
mod_ident.html.fr.utf8
10.45
KB
-rw-r--r--
mod_ident.html.ja.utf8
10.88
KB
-rw-r--r--
mod_ident.html.ko.euc-kr
9.47
KB
-rw-r--r--
mod_imagemap.html
310
B
-rw-r--r--
mod_imagemap.html.en
21.22
KB
-rw-r--r--
mod_imagemap.html.fr.utf8
23.4
KB
-rw-r--r--
mod_imagemap.html.ko.euc-kr
19.77
KB
-rw-r--r--
mod_include.html
304
B
-rw-r--r--
mod_include.html.en
59.85
KB
-rw-r--r--
mod_include.html.fr.utf8
65.42
KB
-rw-r--r--
mod_include.html.ja.utf8
55.34
KB
-rw-r--r--
mod_info.html
386
B
-rw-r--r--
mod_info.html.en
14.6
KB
-rw-r--r--
mod_info.html.fr.utf8
15.53
KB
-rw-r--r--
mod_info.html.ja.utf8
15.12
KB
-rw-r--r--
mod_info.html.ko.euc-kr
12.6
KB
-rw-r--r--
mod_isapi.html
301
B
-rw-r--r--
mod_isapi.html.en
23.44
KB
-rw-r--r--
mod_isapi.html.fr.utf8
25.48
KB
-rw-r--r--
mod_isapi.html.ko.euc-kr
21.62
KB
-rw-r--r--
mod_lbmethod_bybusyness.html
237
B
-rw-r--r--
mod_lbmethod_bybusyness.html.e...
7.85
KB
-rw-r--r--
mod_lbmethod_bybusyness.html.f...
8.25
KB
-rw-r--r--
mod_lbmethod_byrequests.html
237
B
-rw-r--r--
mod_lbmethod_byrequests.html.e...
12.55
KB
-rw-r--r--
mod_lbmethod_byrequests.html.f...
13.08
KB
-rw-r--r--
mod_lbmethod_bytraffic.html
235
B
-rw-r--r--
mod_lbmethod_bytraffic.html.en
8.2
KB
-rw-r--r--
mod_lbmethod_bytraffic.html.fr...
8.6
KB
-rw-r--r--
mod_lbmethod_heartbeat.html
235
B
-rw-r--r--
mod_lbmethod_heartbeat.html.en
8.29
KB
-rw-r--r--
mod_lbmethod_heartbeat.html.fr...
8.65
KB
-rw-r--r--
mod_ldap.html
207
B
-rw-r--r--
mod_ldap.html.en
52.54
KB
-rw-r--r--
mod_ldap.html.fr.utf8
57.83
KB
-rw-r--r--
mod_log_config.html
504
B
-rw-r--r--
mod_log_config.html.en
35.48
KB
-rw-r--r--
mod_log_config.html.fr.utf8
37.95
KB
-rw-r--r--
mod_log_config.html.ja.utf8
33.81
KB
-rw-r--r--
mod_log_config.html.ko.euc-kr
25.54
KB
-rw-r--r--
mod_log_config.html.tr.utf8
37.34
KB
-rw-r--r--
mod_log_debug.html
217
B
-rw-r--r--
mod_log_debug.html.en
10.17
KB
-rw-r--r--
mod_log_debug.html.fr.utf8
10.76
KB
-rw-r--r--
mod_log_forensic.html
415
B
-rw-r--r--
mod_log_forensic.html.en
12.76
KB
-rw-r--r--
mod_log_forensic.html.fr.utf8
14.38
KB
-rw-r--r--
mod_log_forensic.html.ja.utf8
14.2
KB
-rw-r--r--
mod_log_forensic.html.tr.utf8
13.26
KB
-rw-r--r--
mod_logio.html
479
B
-rw-r--r--
mod_logio.html.en
10.38
KB
-rw-r--r--
mod_logio.html.fr.utf8
11.02
KB
-rw-r--r--
mod_logio.html.ja.utf8
10.25
KB
-rw-r--r--
mod_logio.html.ko.euc-kr
9.23
KB
-rw-r--r--
mod_logio.html.tr.utf8
10.61
KB
-rw-r--r--
mod_lua.html
205
B
-rw-r--r--
mod_lua.html.en
91.74
KB
-rw-r--r--
mod_lua.html.fr.utf8
101.5
KB
-rw-r--r--
mod_macro.html
209
B
-rw-r--r--
mod_macro.html.en
15.14
KB
-rw-r--r--
mod_macro.html.fr.utf8
16.11
KB
-rw-r--r--
mod_md.html
203
B
-rw-r--r--
mod_md.html.en
95.75
KB
-rw-r--r--
mod_md.html.fr.utf8
103.21
KB
-rw-r--r--
mod_mime.html
295
B
-rw-r--r--
mod_mime.html.en
64.63
KB
-rw-r--r--
mod_mime.html.fr.utf8
70.52
KB
-rw-r--r--
mod_mime.html.ja.utf8
70.58
KB
-rw-r--r--
mod_mime_magic.html
219
B
-rw-r--r--
mod_mime_magic.html.en
16.67
KB
-rw-r--r--
mod_mime_magic.html.fr.utf8
17.74
KB
-rw-r--r--
mod_negotiation.html
316
B
-rw-r--r--
mod_negotiation.html.en
21.36
KB
-rw-r--r--
mod_negotiation.html.fr.utf8
23.09
KB
-rw-r--r--
mod_negotiation.html.ja.utf8
22.53
KB
-rw-r--r--
mod_nw_ssl.html
211
B
-rw-r--r--
mod_nw_ssl.html.en
9.5
KB
-rw-r--r--
mod_nw_ssl.html.fr.utf8
9.8
KB
-rw-r--r--
mod_privileges.html
219
B
-rw-r--r--
mod_privileges.html.en
29.36
KB
-rw-r--r--
mod_privileges.html.fr.utf8
32.73
KB
-rw-r--r--
mod_proxy.html
298
B
-rw-r--r--
mod_proxy.html.en
130.78
KB
-rw-r--r--
mod_proxy.html.fr.utf8
147.41
KB
-rw-r--r--
mod_proxy.html.ja.utf8
92.16
KB
-rw-r--r--
mod_proxy_ajp.html
310
B
-rw-r--r--
mod_proxy_ajp.html.en
32.1
KB
-rw-r--r--
mod_proxy_ajp.html.fr.utf8
35.22
KB
-rw-r--r--
mod_proxy_ajp.html.ja.utf8
32.25
KB
-rw-r--r--
mod_proxy_balancer.html
325
B
-rw-r--r--
mod_proxy_balancer.html.en
22.97
KB
-rw-r--r--
mod_proxy_balancer.html.fr.utf...
25.71
KB
-rw-r--r--
mod_proxy_balancer.html.ja.utf...
18.82
KB
-rw-r--r--
mod_proxy_connect.html
322
B
-rw-r--r--
mod_proxy_connect.html.en
10.05
KB
-rw-r--r--
mod_proxy_connect.html.fr.utf8
10.56
KB
-rw-r--r--
mod_proxy_connect.html.ja.utf8
9.2
KB
-rw-r--r--
mod_proxy_express.html
225
B
-rw-r--r--
mod_proxy_express.html.en
13.41
KB
-rw-r--r--
mod_proxy_express.html.fr.utf8
14.08
KB
-rw-r--r--
mod_proxy_fcgi.html
219
B
-rw-r--r--
mod_proxy_fcgi.html.en
22.3
KB
-rw-r--r--
mod_proxy_fcgi.html.fr.utf8
24.51
KB
-rw-r--r--
mod_proxy_fdpass.html
223
B
-rw-r--r--
mod_proxy_fdpass.html.en
7.49
KB
-rw-r--r--
mod_proxy_fdpass.html.fr.utf8
7.72
KB
-rw-r--r--
mod_proxy_ftp.html
217
B
-rw-r--r--
mod_proxy_ftp.html.en
18.35
KB
-rw-r--r--
mod_proxy_ftp.html.fr.utf8
20.33
KB
-rw-r--r--
mod_proxy_hcheck.html
223
B
-rw-r--r--
mod_proxy_hcheck.html.en
17.56
KB
-rw-r--r--
mod_proxy_hcheck.html.fr.utf8
18.75
KB
-rw-r--r--
mod_proxy_html.html
219
B
-rw-r--r--
mod_proxy_html.html.en
33.61
KB
-rw-r--r--
mod_proxy_html.html.fr.utf8
38.34
KB
-rw-r--r--
mod_proxy_http.html
219
B
-rw-r--r--
mod_proxy_http.html.en
11.82
KB
-rw-r--r--
mod_proxy_http.html.fr.utf8
12.7
KB
-rw-r--r--
mod_proxy_http2.html
221
B
-rw-r--r--
mod_proxy_http2.html.en
10.25
KB
-rw-r--r--
mod_proxy_http2.html.fr.utf8
10.81
KB
-rw-r--r--
mod_proxy_scgi.html
219
B
-rw-r--r--
mod_proxy_scgi.html.en
14.63
KB
-rw-r--r--
mod_proxy_scgi.html.fr.utf8
15.59
KB
-rw-r--r--
mod_proxy_uwsgi.html
221
B
-rw-r--r--
mod_proxy_uwsgi.html.en
8.4
KB
-rw-r--r--
mod_proxy_uwsgi.html.fr.utf8
8.7
KB
-rw-r--r--
mod_proxy_wstunnel.html
227
B
-rw-r--r--
mod_proxy_wstunnel.html.en
11.01
KB
-rw-r--r--
mod_proxy_wstunnel.html.fr.utf...
11.62
KB
-rw-r--r--
mod_ratelimit.html
217
B
-rw-r--r--
mod_ratelimit.html.en
7.05
KB
-rw-r--r--
mod_ratelimit.html.fr.utf8
7.38
KB
-rw-r--r--
mod_reflector.html
217
B
-rw-r--r--
mod_reflector.html.en
8.53
KB
-rw-r--r--
mod_reflector.html.fr.utf8
8.87
KB
-rw-r--r--
mod_remoteip.html
215
B
-rw-r--r--
mod_remoteip.html.en
26.61
KB
-rw-r--r--
mod_remoteip.html.fr.utf8
29.21
KB
-rw-r--r--
mod_reqtimeout.html
219
B
-rw-r--r--
mod_reqtimeout.html.en
12.75
KB
-rw-r--r--
mod_reqtimeout.html.fr.utf8
13.64
KB
-rw-r--r--
mod_request.html
304
B
-rw-r--r--
mod_request.html.en
9.31
KB
-rw-r--r--
mod_request.html.fr.utf8
9.91
KB
-rw-r--r--
mod_request.html.tr.utf8
9.69
KB
-rw-r--r--
mod_rewrite.html
213
B
-rw-r--r--
mod_rewrite.html.en
78.02
KB
-rw-r--r--
mod_rewrite.html.fr.utf8
84.61
KB
-rw-r--r--
mod_sed.html
205
B
-rw-r--r--
mod_sed.html.en
11.67
KB
-rw-r--r--
mod_sed.html.fr.utf8
12.21
KB
-rw-r--r--
mod_session.html
213
B
-rw-r--r--
mod_session.html.en
34.94
KB
-rw-r--r--
mod_session.html.fr.utf8
38.05
KB
-rw-r--r--
mod_session_cookie.html
227
B
-rw-r--r--
mod_session_cookie.html.en
13.71
KB
-rw-r--r--
mod_session_cookie.html.fr.utf...
14.46
KB
-rw-r--r--
mod_session_crypto.html
227
B
-rw-r--r--
mod_session_crypto.html.en
17.87
KB
-rw-r--r--
mod_session_crypto.html.fr.utf...
19.28
KB
-rw-r--r--
mod_session_dbd.html
221
B
-rw-r--r--
mod_session_dbd.html.en
25.07
KB
-rw-r--r--
mod_session_dbd.html.fr.utf8
26.96
KB
-rw-r--r--
mod_setenvif.html
494
B
-rw-r--r--
mod_setenvif.html.en
21.34
KB
-rw-r--r--
mod_setenvif.html.fr.utf8
23.04
KB
-rw-r--r--
mod_setenvif.html.ja.utf8
21.65
KB
-rw-r--r--
mod_setenvif.html.ko.euc-kr
17.41
KB
-rw-r--r--
mod_setenvif.html.tr.utf8
22.17
KB
-rw-r--r--
mod_slotmem_plain.html
225
B
-rw-r--r--
mod_slotmem_plain.html.en
8.1
KB
-rw-r--r--
mod_slotmem_plain.html.fr.utf8
8.45
KB
-rw-r--r--
mod_slotmem_shm.html
221
B
-rw-r--r--
mod_slotmem_shm.html.en
8.7
KB
-rw-r--r--
mod_slotmem_shm.html.fr.utf8
9.1
KB
-rw-r--r--
mod_so.html
464
B
-rw-r--r--
mod_so.html.en
13.66
KB
-rw-r--r--
mod_so.html.fr.utf8
15.09
KB
-rw-r--r--
mod_so.html.ja.utf8
16.29
KB
-rw-r--r--
mod_so.html.ko.euc-kr
12.39
KB
-rw-r--r--
mod_so.html.tr.utf8
15.01
KB
-rw-r--r--
mod_socache_dbm.html
221
B
-rw-r--r--
mod_socache_dbm.html.en
6.16
KB
-rw-r--r--
mod_socache_dbm.html.fr.utf8
6.29
KB
-rw-r--r--
mod_socache_dc.html
219
B
-rw-r--r--
mod_socache_dc.html.en
6.21
KB
-rw-r--r--
mod_socache_dc.html.fr.utf8
6.34
KB
-rw-r--r--
mod_socache_memcache.html
231
B
-rw-r--r--
mod_socache_memcache.html.en
8.65
KB
-rw-r--r--
mod_socache_memcache.html.fr.u...
9.16
KB
-rw-r--r--
mod_socache_redis.html
225
B
-rw-r--r--
mod_socache_redis.html.en
10.27
KB
-rw-r--r--
mod_socache_redis.html.fr.utf8
10.94
KB
-rw-r--r--
mod_socache_shmcb.html
225
B
-rw-r--r--
mod_socache_shmcb.html.en
6.24
KB
-rw-r--r--
mod_socache_shmcb.html.fr.utf8
6.38
KB
-rw-r--r--
mod_speling.html
398
B
-rw-r--r--
mod_speling.html.en
12.86
KB
-rw-r--r--
mod_speling.html.fr.utf8
13.57
KB
-rw-r--r--
mod_speling.html.ja.utf8
14.53
KB
-rw-r--r--
mod_speling.html.ko.euc-kr
11.75
KB
-rw-r--r--
mod_ssl.html
205
B
-rw-r--r--
mod_ssl.html.en
188.2
KB
-rw-r--r--
mod_ssl.html.fr.utf8
207.15
KB
-rw-r--r--
mod_status.html
484
B
-rw-r--r--
mod_status.html.en
11.93
KB
-rw-r--r--
mod_status.html.fr.utf8
12.82
KB
-rw-r--r--
mod_status.html.ja.utf8
11.42
KB
-rw-r--r--
mod_status.html.ko.euc-kr
9.55
KB
-rw-r--r--
mod_status.html.tr.utf8
12.64
KB
-rw-r--r--
mod_substitute.html
219
B
-rw-r--r--
mod_substitute.html.en
14.62
KB
-rw-r--r--
mod_substitute.html.fr.utf8
15.55
KB
-rw-r--r--
mod_suexec.html
484
B
-rw-r--r--
mod_suexec.html.en
8.11
KB
-rw-r--r--
mod_suexec.html.fr.utf8
8.37
KB
-rw-r--r--
mod_suexec.html.ja.utf8
8.93
KB
-rw-r--r--
mod_suexec.html.ko.euc-kr
8.07
KB
-rw-r--r--
mod_suexec.html.tr.utf8
8.32
KB
-rw-r--r--
mod_systemd.html
213
B
-rw-r--r--
mod_systemd.html.en
7.9
KB
-rw-r--r--
mod_systemd.html.fr.utf8
8.11
KB
-rw-r--r--
mod_tls.html
118
B
-rw-r--r--
mod_tls.html.en
42.32
KB
-rw-r--r--
mod_unique_id.html
406
B
-rw-r--r--
mod_unique_id.html.en
15.14
KB
-rw-r--r--
mod_unique_id.html.fr.utf8
17.4
KB
-rw-r--r--
mod_unique_id.html.ja.utf8
18.45
KB
-rw-r--r--
mod_unique_id.html.ko.euc-kr
13.09
KB
-rw-r--r--
mod_unixd.html
298
B
-rw-r--r--
mod_unixd.html.en
13.64
KB
-rw-r--r--
mod_unixd.html.fr.utf8
14.69
KB
-rw-r--r--
mod_unixd.html.tr.utf8
14.34
KB
-rw-r--r--
mod_userdir.html
489
B
-rw-r--r--
mod_userdir.html.en
12.57
KB
-rw-r--r--
mod_userdir.html.fr.utf8
13.71
KB
-rw-r--r--
mod_userdir.html.ja.utf8
13.08
KB
-rw-r--r--
mod_userdir.html.ko.euc-kr
10.79
KB
-rw-r--r--
mod_userdir.html.tr.utf8
13.22
KB
-rw-r--r--
mod_usertrack.html
217
B
-rw-r--r--
mod_usertrack.html.en
19.68
KB
-rw-r--r--
mod_usertrack.html.fr.utf8
20.92
KB
-rw-r--r--
mod_version.html
398
B
-rw-r--r--
mod_version.html.en
10.33
KB
-rw-r--r--
mod_version.html.fr.utf8
10.95
KB
-rw-r--r--
mod_version.html.ja.utf8
10.88
KB
-rw-r--r--
mod_version.html.ko.euc-kr
10.28
KB
-rw-r--r--
mod_vhost_alias.html
316
B
-rw-r--r--
mod_vhost_alias.html.en
20.98
KB
-rw-r--r--
mod_vhost_alias.html.fr.utf8
22.28
KB
-rw-r--r--
mod_vhost_alias.html.tr.utf8
21.5
KB
-rw-r--r--
mod_watchdog.html
215
B
-rw-r--r--
mod_watchdog.html.en
8.03
KB
-rw-r--r--
mod_watchdog.html.fr.utf8
8.31
KB
-rw-r--r--
mod_xml2enc.html
213
B
-rw-r--r--
mod_xml2enc.html.en
15.28
KB
-rw-r--r--
mod_xml2enc.html.fr.utf8
16.78
KB
-rw-r--r--
module-dict.html
489
B
-rw-r--r--
module-dict.html.en
9.22
KB
-rw-r--r--
module-dict.html.fr.utf8
9.48
KB
-rw-r--r--
module-dict.html.ja.utf8
10.29
KB
-rw-r--r--
module-dict.html.ko.euc-kr
8.49
KB
-rw-r--r--
module-dict.html.tr.utf8
9.43
KB
-rw-r--r--
mpm_common.html
481
B
-rw-r--r--
mpm_common.html.de
62.97
KB
-rw-r--r--
mpm_common.html.en
65.24
KB
-rw-r--r--
mpm_common.html.fr.utf8
72.24
KB
-rw-r--r--
mpm_common.html.ja.utf8
66.66
KB
-rw-r--r--
mpm_common.html.tr.utf8
69.86
KB
-rw-r--r--
mpm_netware.html
213
B
-rw-r--r--
mpm_netware.html.en
10.06
KB
-rw-r--r--
mpm_netware.html.fr.utf8
10.58
KB
-rw-r--r--
mpm_winnt.html
387
B
-rw-r--r--
mpm_winnt.html.de
7.99
KB
-rw-r--r--
mpm_winnt.html.en
10.84
KB
-rw-r--r--
mpm_winnt.html.fr.utf8
11.38
KB
-rw-r--r--
mpm_winnt.html.ja.utf8
8.23
KB
-rw-r--r--
mpmt_os2.html
207
B
-rw-r--r--
mpmt_os2.html.en
7.77
KB
-rw-r--r--
mpmt_os2.html.fr.utf8
7.96
KB
-rw-r--r--
overrides.html
209
B
-rw-r--r--
overrides.html.en
68.7
KB
-rw-r--r--
overrides.html.fr.utf8
74.38
KB
-rw-r--r--
prefork.html
466
B
-rw-r--r--
prefork.html.de
16.15
KB
-rw-r--r--
prefork.html.en
16.08
KB
-rw-r--r--
prefork.html.fr.utf8
17.41
KB
-rw-r--r--
prefork.html.ja.utf8
16.98
KB
-rw-r--r--
prefork.html.tr.utf8
16.85
KB
-rw-r--r--
quickreference.html
792
B
-rw-r--r--
quickreference.html.de
192.38
KB
-rw-r--r--
quickreference.html.en
191.44
KB
-rw-r--r--
quickreference.html.es
191.79
KB
-rw-r--r--
quickreference.html.fr.utf8
205.25
KB
-rw-r--r--
quickreference.html.ja.utf8
194.74
KB
-rw-r--r--
quickreference.html.ko.euc-kr
188.53
KB
-rw-r--r--
quickreference.html.tr.utf8
194.31
KB
-rw-r--r--
quickreference.html.zh-cn.utf8
191.3
KB
-rw-r--r--
worker.html
461
B
-rw-r--r--
worker.html.de
15.79
KB
-rw-r--r--
worker.html.en
15.41
KB
-rw-r--r--
worker.html.fr.utf8
16.26
KB
-rw-r--r--
worker.html.ja.utf8
16.62
KB
-rw-r--r--
worker.html.tr.utf8
16.13
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : mod_md.html.fr.utf8
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>mod_md - Serveur HTTP Apache Version 2.4</title> <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> <script src="../style/scripts/prettify.min.js" type="text/javascript"> </script> <link href="../images/favicon.ico" rel="shortcut icon" /></head> <body> <div id="page-header"> <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> <p class="apache">Serveur HTTP Apache Version 2.4</p> <img alt="" src="../images/feather.png" /></div> <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> <div id="path"> <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> <div id="page-content"> <div id="preamble"><h1>Module Apache mod_md</h1> <div class="toplang"> <p><span>Langues Disponibles: </span><a href="../en/mod/mod_md.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/mod/mod_md.html" title="Français"> fr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gestion des domaines au sein des serveurs virtuels et obtention de certificats via le protocole ACME </td></tr> <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>md_module</td></tr> <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_md.c</td></tr> <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.30 du serveur HTTP Apache</td></tr></table> <h3>Sommaire</h3> <p> Ce module permet de gérer les propriétés courantes des domaines pour un ou plusieurs serveurs virtuels. Il fournit deux fonctionnalités principales : la première permet la supervision et le renouvellement des certificats TLS via le protocole ACME (<a href="https://tools.ietf.org/html/rfc8555">RFC 8555</a>). Le module effectue le renouvellement des certificats avant leur expiration afin d'éviter une interruption des services internet. Il est possible de monitorer l'état de tous les certificats gérés par mod_md et de configurer le serveur de façon à ce qu'il envoie des notifications de renouvellement, d'expiration ou d'erreur personnalisées. </p><p> La seconde fonctionnalité principale fournit une implémentation alternative de l'agrafage OCSP, et ceci aussi bien pour les certificats gérés par mod_md que pour les certificats que vous gérez vous-même. Composant nécessaire pour tout site https, l'agrafage OCSP influence la vitesse de chargement des pages et suivant la configuration, la disponibilité de ces dernières. Vous trouverez plus de détails dans la section agrafage ci-dessous. </p><p> L'autorité ACME par défaut pour la gestion des certificats est <a href="https://letsencrypt.org/">Let's Encrypt</a>, mais il est possible de configurer une autre CA si cette dernière supporte le protocole. </p> <p>Exemple de configuration simple :</p> <div class="note"><h3>TLS dans un contexte de serveur virtuel</h3> <pre class="prettyprint lang-config">MDomain example.org <VirtualHost *:443> ServerName example.org DocumentRoot htdocs/a SSLEngine on # aucun certificat spécifié </VirtualHost></pre> <p> Au démarrage, un serveur ainsi configuré contactera <a href="https://letsencrypt.org/">Let's Encrypt</a> pour demander un certificat pour le domaine considéré. Si Let's Encrypt peut vérifier le propriétaire du domaine, le module obtiendra le certificat et sa chaîne de certification, le stockera dans son système de fichiers (voir la directive <code class="directive"><a href="#mdstoredir">MDStoreDir</a></code>) et le proposera au prochain redémarrage à <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. </p><p> Ce processus se déroule pendant l'exécution du serveur. Tous les autres serveurs virtuels continueront à fonctionner normalement, mais tant que le certificat ne sera pas disponible, toute requête pour le domaine considéré génèrera une réponse du type '503 Service Unavailable'. </p> </div> <div class="note"><h3>Prérequis</h3> <p> Pour pouvoir être utilisé, ce module nécessite le chargement préalable du module <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>. </p><p> Pour que Let's Encrypt puisse signer et renouveler votre certificat, votre serveur doit être accessible depuis l'internet public sur le port 80 (http:) et/ou 443 (https:), à moins que votre serveur soit configuré pour utiliser les vérifications DNS - pour plus de détails, voir "certificats génériques". </p><p> Le module choisit une des méthodes proposées par Let's Encrypt. En général, LE propose des méthodes de vérification sur les ports ou le DNS et Apache choisit une des méthodes disponibles. </p><p> Pour déterminer quelles méthodes sont disponibles, le module consulte les ports sur lesquels écoute Apache httpd. Si le port 80 en fait partie, le module supposera que la vérification http: nommée http-01 est disponible. Si le port 443 en fait aussi partie, la vérification https: nommée tls-alpn-01 sera ajoutée à la liste des méthodes disponibles. Enfin, si la directive <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code> est définie, la méthode de vérification dns-01 sera aussi ajoutée. </p><p> Si votre configuration est plus complexe, deux méthodes permettent d'orienter ce choix. En premier lieu, voyez du côté de la directive <code class="directive"><a href="#mdportmap">MDPortMap</a></code> si le serveur se trouve derrière un redirecteur de port comme un pare-feu. En second lieu, vous pouvez court-circuiter entièrement le processus de choix du module en définissant directement la directive <code class="directive"><a href="#mdcachallenges">MDCAChallenges</a></code>. </p> </div> <div class="note"><h3>Vérifications https:</h3> <p> Pour la vérification de domaine via le protocole TLS, le nom de la méthode correspondante est "tls-alpn-01". Le serveur Apache doit alors être en écoute sur le port 443 (voir la directive <code class="directive"><a href="#mdportmap">MDPortMap</a></code> si vous redirigez ce port vers un autre). </p><p> Let's Encrypt ouvrira alors une connexion TLS avec Apache en utilisant l'indicateur spécial "acme-tls/1" (cette portion indication de TLS se nomme ALPN, d'où le nom de la méthode de vérification. ALPN est aussi utilisé par les navigateurs pour ouvrir une connexion HTTP/2. </p><p> Si vous ne souhaitez cependant qu'aucun de vos sites ne soit accessible sur le port 80, vous pouvez laiser ce dernier ouvert et rediriger toutes les requêtes vers vos sites en https:. Pour ce faire, utilisez la directive <code class="directive"><a href="#mdrequirehttps">MDRequireHttps</a></code> décrite plus loin. Votre serveur pourra alors continuer à répondre au requêtes en http: en provenance de Let's Encrypt. Comme dans le cas du protocole HTTP/2, vous pouvez configurer ceci de la manière suivante : </p> <pre class="prettyprint lang-config">Protocols h2 http/1.1 acme-tls/1</pre> <p> La méthode de vérification "tls-alpn-01" sera alors disponible. </p> </div> <div class="note"><h3>Certificats génériques</h3> <p> Les certificats génériques sont supportés à partir de la version 2.x de mod_md, mais leur obtention n'est pas triviale. Let's Encrypt impose pour ces derniers la vérification "dns-01". Aucune autre n'est considérée comme suffisamment efficace. </p><p> Apache ne peut cependant pas implémenter cette vérification de lui-même . Comme son nom l'indique, "dns-01" vous demande de présenter certains enregistrement DNS spécifiques à votre domaine qui doivent contenir certaines données de vérification. Vous devez donc être en mesure d'éditer et modifier les enregistrements DNS de votre domaine. </p><p> Si c'est le cas, vous pouvez procéder via mod_md. Supposons que vous disposiez pour cela du script /usr/bin/acme-setup-dns ; vous configurez alors Apache comme suit : </p> <pre class="prettyprint lang-config">MDChallengeDns01 /usr/bin/acme-setup-dns</pre> <p> Apache fera alors appel à ce script lorsqu'il aura besoin de définir ou détruire un enregistrement DNS de vérification pour le domaine considéré. </p><p> Supposons ainsi que vous souhaitiez obtenir un certificat pour *.mydomain.com ; mod_md va appeler : </p> <pre class="prettyprint lang-config">/usr/bin/acme-setup-dns setup mydomain.com challenge-data # ceci nécessite de supprimer tout enregistrement DNS TXT pour # _acme-challenge.mydomain.com et d'en créer un nouveau dont le contenu sera # "challenge-data"</pre> <p> il appellera ensuite : </p> <pre class="prettyprint lang-config">/usr/bin/acme-setup-dns teardown mydomain.com # ceci nécessite de supprimer tout enregistrement DNS TXT pour # _acme-challenge.mydomain.com</pre> </div> <div class="note"><h3>Monitoring</h3> <p>Apache possède un module de monitoring standard : <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. mod_md y ajoute une section et facilite le monitoring de votre domaine. </p><p> Vous pouvez alors visualiser tous vos domaines gérés par ordre alphabétique, les noms de domaine qu'ils contiennent, un état global, les date d'expiration ainsi que des paramètres spécifiques. Ces derniers comprennent la périodicité de renouvellement que vous avez sélectionnée (ou la valeur par défaut), la CA (autorité de certification) utilisée, etc... </p><p> La colonne "Renewal" montre des rapports d'activité ou d'erreur à propos des renouvellements de certificats, ce qui devrait faciliter la vie des utilisateurs qui souhaitent savoir si tout fonctionne correctement ou si des problèmes se produisent. </p><p> Si un des domaines gérés provoque une erreur, elle apparaîtra aussi ici, ce qui vous permettra de visualiser les éventuels problèmes sans devoir vous plonger dans les journaux du serveur. </p><p> Il existe aussi un nouveau gestionnaire, "md-status", qui peut vous fournir les informations à propos des domaines gérés à partir de "server-status" et au format JSON. Vous pouvez le configurer comme suit sur votre serveur : </p> <pre class="prettyprint lang-config"><Location "/md-status"> SetHandler md-status </Location></pre> <p> Comme pour "server-status", vous devez ajouter les autorisations nécessaires. </p><p> Si vous ne souhaitez recevoir l'état JSON que pour un domaine spécifique, ajoutez le simplement à votre URL d'état : </p> <pre class="prettyprint lang-config">> curl https://<yourhost>/md-status/another-domain.org { "name": "another-domain.org", "domains": [ "another-domain.org", "www.another-domain.org" ], ...</pre> <p> Cet état JSON montre aussi un journal des renouvellements de certificats : </p> <pre class="prettyprint lang-config">{ "when": "Wed, 19 Jun 2019 14:45:58 GMT", "type": "progress", "detail": "The certificate for the managed domain has been renewed successfully and can be used. A graceful server restart now is recommended." },{ "when": "Wed, 19 Jun 2019 14:45:58 GMT", "type": "progress", "detail": "Retrieving certificate chain for test-901-003-1560955549.org" },{ "when": "Wed, 19 Jun 2019 14:45:58 GMT", "type": "progress", "detail": "Waiting for finalized order to become valid" },{ "when": "Wed, 19 Jun 2019 14:45:50 GMT", "type": "progress", "detail": "Submitting CSR to CA for test-901-003-1560955549.org" }, ...</pre> <p> Vous trouverez aussi ces informations dans le fichier "job.json" dans votre répertoire de test et, s'il est activé, dans le répertoire des domaines. Vous pourrez ainsi les consulter à tout moment. </p><p> Enfin, la directive <code class="directive"><a href="#mdcertificatestatus">MDCertificateStatus</a></code> donne accès au informations à propos du certificat spécifié au format JSON. </p> </div> <div class="note"><h3>Agrafage</h3> <p> Si vous voulez commencer par tester l'agrafage pour un seul domaine géré, utilisez cette configuration : </p> <pre class="prettyprint lang-config"><MDomain mydomain.net> MDStapling on </MDomain></pre> <p> et utilisez 'server-status' et/ou <code class="directive"><a href="#mdmessagecmd">MDMessageCmd</a></code> pour voir comment tout cela fonctionne. Vous pourrez alors vérifier si l'information d'agrafage est présente, sa durée de validité, son origine et à quel moment elle sera rafraîchie. </p><p> Si tout fonctionne comme vous le souhaitez, vous pouvez définir cette configuration pour tous les certificats ou seulement vos certificats gérés. </p><p> De nombreux sites utilisent l'implémentation d'agrafage existante de mod_ssl depuis des années. Les implémentations par mod-ssl et mod_md présentent deux différences principales : </p> <ol> <li>Lecture des informations à la demande ou de manière planifiée : mod_ssl extrait les informations d'agrafage lorsque le besoin s'en fait sentir, par exemple lors d'une nouvelle connexion. mod_md quant à lui, extrait ces informations au démarrage du serveur et lorsqu'elles ont atteint les deux tiers de leur durée de vie.</li> <li>Conservation des informations en mémoire ou de manière persistante : mod_ssl <em>peut</em> conserver ces informations de manière persistante, mais la plupart des configurations exemples utilisent un cache en mémoire. mod_md quant à lui, stocke systématiquement les informations dans le système de fichiers.</li> </ol> <p> Si par malchance vous redémarrez votre serveur alors que le service OCSP de votre CA est en panne, les utilisateurs ne pourront plus atteindre vos sites. Sans persistance des informations, votre serveur n'est plus en mesure de fournir au client les données nécessaires, et le navigateur client ne peut pas les obtenir lui-même car le service OCSP ne répond pas. </p><p> Avec l'implémentation de mod_md, l'information d'agrafage est stockée de manière persistante, et elle peut donc être réchargée au démarrage du serveur et être ainsi disponible pour les connexions entrantes. Un jour ou deux avant expiration des informations, mod_md va les renouveler, ce qui permet de faire face à un temps d'indisponibilité du service OCSP assez long. </p><p> Pour conserver une compatibilité ascendante, l'implémentation de mod_ssl n'a pas pu être modifiée en profondeur. Par exemple, mod_ssl est incapable d'ajouter une dépendance à mod_watchdog sans rendre inutilisables de nombreuses configurations existantes qui ne chargent pas ce module. </p> </div> <div class="note"><h3>tailscale</h3> <p> Depuis la version 2.4.14 du module, vous pouvez l'utiliser pour obtenir des certificats pour vos domaines <a href="https://tailscale.com">tailscale</a>. </p> <pre class="prettyprint lang-config"><MDomain mydomain.some-thing.ts.net> MDCertificateProtocol tailscale MDCertificateAuthority file://localhost/var/run/tailscale/tailscaled.sock", </MDomain></pre> <p> Tailscale permet des communications sécurisées entre vos machines, où qu'elles se trouvent, et peut leur fournir des noms de domaine dans l'espace *.ts.net. Pour ceux-ci, il fournira aussi ensuite des certificats Let's Encrypt de façon à ce que vous puissiez ouvrir ces domaines dans votre navigateur en toute sécurité. </p> <p> Apache va contacter le démon tailscale local à l'aide des directives listées ci-dessous pour obtenir et renouveler les certificats. Ceci ne fonctionnera cependant que pour les noms de domaine que tailscale aura assigné à votre machine. </p> <p> Dans le cas contraire, ces certificats fonctionneront exactement de la même façon que ceux qui auront été obtenus à l'aide du protocole ACME de Lets Encrypt. Vous les verrez dans le rapport d'état et les directives MDMessageCmd seront aussi exécutées pour eux. </p> <p> Vous trouverez plus de détails dans la <a href="https://github.com/icing/mod_md#tailscale">documentation github de mod_md</a>. </p> <p> Notez que cette fonctionnalité n'est disponible que sur les machines où le démon tailscale fournit un socket de domaine unix. Jusqu'à présent, ceci ne semble être le cas que sur les systèmes de style Unix. </p> </div> </div> <div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> <ul id="toc"> <li><img alt="" src="../images/down.gif" /> <a href="#mdactivationdelay">MDActivationDelay</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdbaseserver">MDBaseServer</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdcachallenges">MDCAChallenges</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateagreement">MDCertificateAgreement</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateauthority">MDCertificateAuthority</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatecheck">MDCertificateCheck</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatefile">MDCertificateFile</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatekeyfile">MDCertificateKeyFile</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatemonitor">MDCertificateMonitor</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateprotocol">MDCertificateProtocol</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatestatus">MDCertificateStatus</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdchallengedns01">MDChallengeDns01</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#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="#mdmember">MDMember</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdmembers">MDMembers</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdmessagecmd">MDMessageCmd</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdmuststaple">MDMustStaple</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdnotifycmd">MDNotifyCmd</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdomain">MDomain</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdomainsetsection"><MDomainSet></a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdportmap">MDPortMap</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdprivatekeys">MDPrivateKeys</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdrenewmode">MDRenewMode</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdrenewwindow">MDRenewWindow</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdrequirehttps">MDRequireHttps</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdretrydelay">MDRetryDelay</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdretryfailover">MDRetryFailover</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdserverstatus">MDServerStatus</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdstapleothers">MDStapleOthers</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdstapling">MDStapling</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdstoredir">MDStoreDir</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdstorelocks">MDStoreLocks</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#mdwarnwindow">MDWarnWindow</a></li> </ul> <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_md">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_md">Signaler un bug</a></li></ul><h3>Voir aussi</h3> <ul class="seealso"> <li><a href="#comments_section">Commentaires</a></li></ul></div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="mdactivationdelay" id="mdactivationdelay">Directive</a> <a name="MDActivationDelay" id="MDActivationDelay">MDActivationDelay</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></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"><MDomain mydomain.com> MDCertificateFile /etc/ssl/my.cert MDCertificateKeyFile /etc/ssl/my.key </MDomain></pre> </div> <p> Cette directive est équivalente à la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> de mod_ssl. Elle s'utilise dans de nombreuses applications. </p><p> Une première application est la migration de la gestion des certificats d'un domaine existant depuis le mode statique via des fichiers vers le mode automatique via Let's Encrypt. A cet effet, vous définissez tout d'abord la section <code class="directive"><a href="#mdomainset">MDomainSet</a></code> dans laquelle vous spécifiez les fichiers, puis supprimez la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> de la configuration de vos serveurs virtuels. </p><p> Avec cette configuration, votre serveur fonctionnera comme avant, avec probablement moins de lignes répétitives. Vous pouvez alors ajouter la directive <code class="directive"><a href="#mdrenewmode">MDRenewMode</a></code> avec pour valeur "always", et le module obtiendra un nouveau cerificat avant que celui du fichier considéré n'arrive à expiration. Une fois le certificat renouvelé, vous pouvez supprimer la directive <code class="directive">MDCertificateFile</code> et recharger la configuration. </p><p> Une autre application est le renouvellement de vos certificats Let's Encrypt avec d'autres clients ACME comme l'excellent <a href="https://certbot.eff.org">certbot</a>. A cet effet, faites pointer vos domaines gérés vers les fichiers de certbot et ils travaillerons alors ensemble. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="mdcertificatekeyfile" id="mdcertificatekeyfile">Directive</a> <a name="MDCertificateKeyFile" id="MDCertificateKeyFile">MDCertificateKeyFile</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une clé privée statique pour le certificat statique.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateKeyFile <var>path-to-file</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> </table> <p> Cette directive s'utilise dans une section <code class="directive"><a href="#mdomainset">MDomainSet</a></code> et permet de spécifier le nom du fichier contenant la clé privée pour le domaine géré. Le certificat correspondant est spécifié via la directive <code class="directive"><a href="#mdcertificatefile">MDCertificateFile</a></code>. </p><p> Cette directive est équivalente à la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> de mod_ssl. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="mdcertificatemonitor" id="mdcertificatemonitor">Directive</a> <a name="MDCertificateMonitor" id="MDCertificateMonitor">MDCertificateMonitor</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL d'un moniteur d'enregistrement de certificat.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateMonitor name url</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCertificateMonitor crt.sh https://crt.sh?q=</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> </table> <p> Cette directive impacte l'interface utilisateur HTML 'server-status' et n'a rien à voir avec le fonctionnement de mod_md proprement dit. Elle permet de définir le lien qui s'affiche sur cette interface pour accéder facilement à un moniteur de certificat. L'empreinte SHA256 du certificat doit être ajoutée à l'URL spécifié. </p><p> Les moniteurs de certificat donnent accès aux enregistrements de la Certificate Transparency (CT) afin de tracer l'utilisation des certificats pour les domaines. Vous pourrez au moins vérifier si Let's Encrypt (ou tout autre CA que vous aurez défini) a bien inscrit votre certificat dans les enregistrements de CT. </p><p> Avertissement : La mise à jour des enregistrements des certificats et leur prise en compte par les moniteurs peut prendre un certain temps. Ce dernier varie en fonction des enregistreurs et des moniteurs. Un nouveau certificat ne sera donc pas connu immédiatement. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="mdcertificateprotocol" id="mdcertificateprotocol">Directive</a> <a name="MDCertificateProtocol" id="MDCertificateProtocol">MDCertificateProtocol</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le protocole à utiliser avec l'autorité de certification.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateProtocol <var>protocol</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCertificateProtocol ACME</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> </table> <p>Cette directive permet de spécifier le protocole à utiliser. Pour l'heure, seul le protocole <code>ACME</code> est supporté.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="mdcertificatestatus" id="mdcertificatestatus">Directive</a> <a name="MDCertificateStatus" id="MDCertificateStatus">MDCertificateStatus</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Extrait les informations publiques du certificat au format JSON.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateStatus on|off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCertificateStatus on</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> </table> <p> Lorsque cette directive est à "on", vous disposez d'une ressource pour les domaines gérés à https://domain/.httpd/certificate-status qui renvoie un document au format JSON contenant une liste de propriétés concernant les clés, le certificat courant et, s'il est disponible, le certificat renouvelé. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">{ "valid-until": "Thu, 29 Aug 2019 16:06:35 GMT", "valid-from": "Fri, 31 May 2019 16:06:35 GMT", "serial": "03039C464D454EDE79FCD2CAE859F668F269", "sha256-fingerprint": "1ff3bfd2c7c199489ed04df6e29a9b4ea6c015fe8a1b0ce3deb88afc751e352d" "renewal" : { ...renewed cert information... } }</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="mdchallengedns01" id="mdchallengedns01">Directive</a> <a name="MDChallengeDns01" id="MDChallengeDns01">MDChallengeDns01</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></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". </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="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 : un identifiant de clé et une valeur 'hmac' codée en base64. </p> <p> Vous pouvez définir ces valeurs de manière globale ou pour un MDomain spécifique. Comme ces valeurs permettent à n'importe qui de s'inscrire sous le même compte, il est conseillé de restreindre les permissions d'accès au fichier de configuration (à root seulement, par exemple). </p> <p> Les valeurs peuvent aussi être extraites d'un fichier JSON pour conserver l'ouverture des permissions au niveau de la configuration du serveur et restreindre celles de ce fichier. Le fichier JSON sera du style : </p> <div class="example"><h3>Exemple de fichier EAB JSON</h3><pre class="prettyprint lang-config">{"kid": "kid-1", "hmac": "zWND..."}</pre> </div> <p> Si vous modifiez les valeurs EAB, ce sont les nouvelles valeurs qui seront utilisées lors du prochain renouvellement de certificat. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="mdhttpproxy" id="mdhttpproxy">Directive</a> <a name="MDHttpProxy" id="MDHttpProxy">MDHttpProxy</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un serveur mandataire pour les connexions sortantes.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDHttpProxy <var>url</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> </table> <p>Cette directive permet de spécifier un serveur http mandataire pour se connecter à l'autorité de certification spécifiée via <code class="directive"><a href="#mdcertificateauthority">MDCertificateAuthority</a></code>. Vous devez la définir si votre serveur web ne peut atteindre internet que via un serveur mandataire. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="mdmember" id="mdmember">Directive</a> <a name="MDMember" id="MDMember">MDMember</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte additionnel pour le domaine géré.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMember <var>hostname</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> </table> <p> Plutôt que de lister tous les noms DNS sur la même ligne, vous pouvez utiliser la directive <code class="directive">MDMember</code> pour ajouter des noms d'hôte à un domaine géré. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><MDomain example.org> MDMember www.example.org MDMember mail.example.org </MDomain></pre> </div> <p> Si vous utilisez cette directive au niveau de la configuration globale, en dehors de tout serveur virtuel correspondant à un domaine géré, vous ne pouvez spécifier qu'une valeur, 'auto' ou 'manual' comme mode par défaut pour tous les autres domaines gérés. Voir la directive <code class="directive"><a href="#mdomain">MDomain</a></code> pour une description de ces valeurs. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="mdmembers" id="mdmembers">Directive</a> <a name="MDMembers" id="MDMembers">MDMembers</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les alias de noms de domaines sont automatiquement ajoutés.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMembers auto|manual</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDMembers auto</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> </table> <p>Cette directive permet de définir si les valeurs de <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> sont automatiquement ajoutées en tant que membres d'un domaine géré. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="mdmessagecmd" id="mdmessagecmd">Directive</a> <a name="MDMessageCmd" id="MDMessageCmd">MDMessageCmd</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Gère les évènements pour les domaines gérés</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> </table> <p> Cette directive permet de définir la commande à appeler lorsqu'un des évènements "renewed", "installed", "expiring" ou "errored" se produit pour un domaine géré. La commande sera probablement invoquée pour d'autres évènements dans le futur et ignorera les évènements pour lesquels elle n'aura pas été préparée. </p><p> Il s'agit d'une version plus souple de la directive <code class="directive"><a href="#mdnotifycmd">MDNotifyCmd</a></code>. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDMessageCmd /etc/apache/md-message</pre> <p><code> # sera invoquée sous la forme "/etc/apache/md-message renewed mydomain.com" # lorsqu'un nouveau certificat sera disponible pour le domaine mydomain.com </code></p></div> <p> Le programme ne doit pas être bloquant car le module attend qu'il se termine. Un code de retour autre que 0 doit indiquer une erreur d'exécution. </p><p> "errored" n'est pas l'évènement à surveiller en priorité car le renouvellement du certificat est censé se produire suffisammant tôt pour éviter toute interruption de service. Cet évènement est signalé au plus une fois par heure. </p><p> L'évènement "expiring", quant à lui, doit être pris au sérieux. Il se produit lorsque la valeur de <code class="directive"><a href="#mdwarnwindow">MDWarnWindow</a></code> est atteinte. Par défaut, cette valeur correspond à 10% de la durée de vie du certificat, donc actuellement pour Let's Encrypt, 9 jours avant expiration du certificat. Le message d'avertissement est répété au plus une fois par jour. </p><p> 'renewed' indique qu'un nouveau certificat a été obtenu et se trouve dans la zone intermédiaire du magasin MD. Il sera activé au prochain restart/reload du serveur. </p><p> 'installed' indique qu'un nouveau certificat a été transféré depuis la zone intermédiaire vers la zone des domaines du magasin MD. Cet évènement se produit lors d'un restart/reload du serveur. A la différence des autres commandes, <code class="directive">MDMessageCmd</code> s'exécute avec les permissions de root (sur les systèmes *nix) et a donc accès aux fichiers de certificats (et aux clés). Les certificats nécessaires à d'autres applications ou possédant des formats différents peuvent être traités suite à cet évènement. </p><p> Un évènement de type 'renewing' est déclenché avant le démarrage du processus de renouvellement pour le domaine géré. Si dans ce cas la commande renvoie une valeur non nulle, le renouvellement sera interrompu et tenté à nouveau au cycle suivant. Certaines configurations de clusters l'utilisent pour n'effectuer le renouvellement que sur un seul noeud. </p><p> Un évènement de type 'challenge-setup:type:domain' est déclenché lorsque les données de vérification pour un domaine ont été créées. Il est invoqué avant qu'il soit demandé au serveur ACME 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"><MDomainSet></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 <VirtualHost *:443> ServerName example.org DocumentRoot htdocs/root SSLEngine on </VirtualHost> <VirtualHost *:443> ServerName www.example.org DocumentRoot htdocs/www SSLEngine on </VirtualHost></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 <VirtualHost *:443> ServerName example.org ServerAlias www.example.org DocumentRoot htdocs/root SSLEngine on </VirtualHost> MDomain example2.org auto <VirtualHost *:443> ServerName example2.org ServerAlias www.example2.org ... </VirtualHost></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"><MDomainSet></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><MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]>...</MDomainSet></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 "<MDomain ..>" à 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"><MDomain sandbox.example.org> MDCertificateAuthority https://someotherca.com/ACME </MDomain></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"><MDomain example.org> MDRequireHttps temporary </MDomain></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"><MDomain xxx.yyy> MDRequireHttps temporary </MDomain></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"> en </a> | <a href="../fr/mod/mod_md.html" title="Français"> fr </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&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>
Close