У меня есть сервер, настроенный на использование динамически настраиваемых хостов Apach 2.4. У меня настроен SSL для некоторых доменов, но меня просят использовать бесплатную службу Let's Encrypt для предоставления SSL для всех доменов.
Certbot было немного непонятно для меня, поскольку я не уверен, будет ли он работать для динамических хостов.
Моя задача заключается в том, что у меня есть каждый домен, доступный в субдомене subXXX.masterdomain.com и псевдониме yourchoicedomain.com, поэтому мне нужно создать форму сертификата Let's Encrypt, которая действительна для
У меня нет очень сложного файла конфигурации vhosts. Я получаю псевдоним домена и псевдоним сервера www с помощью символических ссылок.
<VirtualHost *:80>
#ServerName masterdomain.me
#ServerAlias *
# get the server name from the Host: header
UseCanonicalName Off
# include the server name in the filenames used to satisfy requests
VirtualDocumentRoot "/var/www/vhosts/%0/httpdocs"
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS} off
RewriteRule .* http://www.%{HTTP_HOST}$0 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS} on
RewriteRule .* https://www.%{HTTP_HOST}$0 [R=301,L]
<Directory "/var/www/vhosts/*/httpdocs">
AllowOverride "All"
Options SymLinksIfOwnerMatch
Require all granted
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Любая помощь в начале работы будет отличной.
Поскольку certbot не может определить активные доменные имена из вашей конфигурации Apache, вам необходимо обойти это.
Поскольку с mod vhost alias
наличие подкаталога - это то, что «активирует» доменное имя. Я бы предложил простые сценарии оболочки, которые перечисляют все подкаталоги (= все активные домены), а затем запускают certbot с --webroot
возможность создать что-то вроде:
certbot certonly --webroot -w var/www/vhosts/www.example.com/httpdocs -d www.example.com -d example.com -w var/www/vhosts/www.example.net/httpdocs -d www.example.net -d other.example.net
Certbot требует имя каталога, а также имя домена. Вы можете добавить до 100 в соответствии с их документацией и пока не поддерживает подстановочные знаки.
Вам просто нужно добавить конфигурации, связанные с SSL, в псевдоним vhost (один файл конфигурации), но вы можете использовать один и тот же сертификат для всех ваших доменов, упомянутых в vhost.
У меня все еще может работать один файл конфигурации. Пробные и проверенные.