Stylesheet conf/userstyle.css not found, please contact the developer of "dokuwiki_2024" template.
linux:apache:mod_md
Различия
Показаны различия между двумя версиями страницы.
linux:apache:mod_md [2023/07/30 18:19] – создано dx | linux:apache:mod_md [2023/07/30 18:25] (текущий) – dx | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== mod_md: сертификаты Let's Encrypt | ||
+ | ---- | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Получаем сертификат Let's Encrypt за 5 минут с помощью модуля **mod_md**. | ||
+ | |||
+ | Исходные данные | ||
+ | * Debian 12 | ||
+ | * Apache 2.4.57-2 | ||
+ | * Домен pupupu.site | ||
+ | |||
+ | Документация | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | ===== Настройка mod_md ===== | ||
+ | |||
+ | Включаем модули | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | Минимальный конфиг | ||
+ | * MDCertificateAgreement accepted - принять условия LE | ||
+ | * MDContactEmail - контактный email, иначе будет использоваться из ServerAdmin | ||
+ | * MDomain foobar.com www.foobar.com - для каких доменов выпустить сертификат | ||
+ | |||
+ | Пример виртуального хоста Apache | ||
+ | |||
+ | <code bash> | ||
+ | # mod_md | ||
+ | MDCertificateAgreement accepted | ||
+ | MDContactEmail [email protected] | ||
+ | MDomain pupupu.site www.pupupu.site | ||
+ | MDomain mail.pupupu.site admin.pupupu.site | ||
+ | |||
+ | MDStapling on | ||
+ | |||
+ | # md-status | ||
+ | < | ||
+ | SetHandler md-status | ||
+ | Require ip 127.0.0.1 172.16.10.0/ | ||
+ | </ | ||
+ | |||
+ | # server-status | ||
+ | < | ||
+ | SetHandler server-status | ||
+ | Require ip 127.0.0.1 172.16.10.0/ | ||
+ | </ | ||
+ | |||
+ | # https:// | ||
+ | #< | ||
+ | # SetHandler certificate-status | ||
+ | # Require ip 127.0.0.1 172.16.10.0/ | ||
+ | #</ | ||
+ | |||
+ | # http 301 redirect | ||
+ | < | ||
+ | ServerName pupupu.site | ||
+ | ServerAlias www.pupupu.site | ||
+ | Redirect 301 / https:// | ||
+ | </ | ||
+ | |||
+ | # https | ||
+ | < | ||
+ | Protocols h2 http/1.1 acme-tls/1 | ||
+ | DocumentRoot / | ||
+ | ServerAdmin [email protected] | ||
+ | ServerName pupupu.site | ||
+ | ServerAlias www.pupupu.site | ||
+ | |||
+ | CustomLog "/ | ||
+ | ErrorLog | ||
+ | |||
+ | # php-fpm handler | ||
+ | < | ||
+ | SetHandler " | ||
+ | </ | ||
+ | |||
+ | SSLEngine on | ||
+ | SSLProtocol | ||
+ | SSLCipherSuite | ||
+ | SSLHonorCipherOrder | ||
+ | SSLSessionTickets | ||
+ | | ||
+ | # OCSP managed by mod_md, so turning off | ||
+ | # | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | # rewrite www2non-www | ||
+ | RewriteEngine On | ||
+ | RewriteCond %{HTTP_HOST} ^www.pupupu.site [NC] | ||
+ | RewriteRule ^(.*)$ https:// | ||
+ | |||
+ | Options -Indexes +FollowSymLinks | ||
+ | AllowOverride All | ||
+ | Require all granted | ||
+ | </ | ||
+ | |||
+ | # mail vhost | ||
+ | < | ||
+ | Protocols h2 http/1.1 acme-tls/1 | ||
+ | SSLEngine on | ||
+ | DocumentRoot / | ||
+ | ServerAdmin [email protected] | ||
+ | ServerName mail.pupupu.site | ||
+ | |||
+ | < | ||
+ | Options -Indexes +FollowSymLinks | ||
+ | AllowOverride All | ||
+ | Require all granted | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | # admin vhost | ||
+ | < | ||
+ | Protocols h2 http/1.1 acme-tls/1 | ||
+ | SSLEngine on | ||
+ | DocumentRoot / | ||
+ | ServerAdmin [email protected] | ||
+ | ServerName admin.pupupu.site | ||
+ | |||
+ | < | ||
+ | Options -Indexes +FollowSymLinks | ||
+ | AllowOverride All | ||
+ | Require all granted | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Перезапускаем Apache | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | ===== Проверка md-status ===== | ||
+ | |||
+ | По адресу https:// | ||
+ | |||
+ | pupupu.site, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | mail.pupupu.site, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== OCSP ===== | ||
+ | |||
+ | Что такое OCSP stapling | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | Как включить - [[https:// | ||
+ | |||
+ | Информацию о OCSP можно посмотреть через [[https:// | ||
+ | |||
+ | Пример | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Для OCSP можно использовать и mod_ssl и mod_md. | ||
+ | |||
+ | ===== Нюансы ===== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Для wildcard можно использовать только [[https:// | ||
+ | |||
+ | Если например недоступен 80 порт извне, то может быть подобная ошибка | ||
+ | |||
+ | <code bash> | ||
+ | Error[Internal error (specific information not available)]: | ||
+ | </ | ||
+ | |||
+ | Если доступен только 443 порт, то в Protocols добавляем **acme-tls/ | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | EOM | ||
+ | |||
+ | {{tag> |