У меня есть сервер CentOS 7 с Apache. В настоящее время существует несколько веб-сайтов, размещенных на виртуальном сервере как «сервер верхнего уровня» и «вспомогательный сервер» с использованием VirtualMin, то есть несколько виртуальных серверов на веб-сервере Apache.
Виртуальные серверы Apache:
Я хочу установить LetsEncrypt SSL для всех сайтов. Должен ли я устанавливать 1 сертификат SSL для всех доменов или по 1 для каждого домена?
Как мне продолжить? Любая помощь приветствуется.
У вас есть два варианта:
для получения нескольких сертификатов через несколько отдельных certbot
призыв;
для получения единого сертификата с несколькими SAN - альтернативными именами субъектов через один certbot
вызов (с несколькими -d
параметры указаны).
Если веб-сайты полностью отключены, я бы использовал вариант №1. Если они сильно связаны, я бы использовал вариант №2.
Я использую системы Debian и Ubuntu, и мне нравится их менталитет «доступность сайтов против отдельных конфигураций с поддержкой сайтов для каждого сайта».
Так...
У меня есть файл httpd conf для каждого виртуального хоста.
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
RewriteEngine on
RewriteRule ^/(.*)$ https://www.example.com/$1 [R,L]
</VirtualHost>
<VirtualHost 10.0.2.15:443>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
CustomLog ${APACHE_LOG_DIR}/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
DocumentRoot /var/www-example.com
<directory /var/www-example.com>
Options All
AllowOverride All
Require all granted
</directory>
ErrorLog ${APACHE_LOG_DIR}/ssl-example.com-error.log
CustomLog ${APACHE_LOG_DIR}/ssl-example.com-access.log combined
</VirtualHost>
Не забудьте сделать свои каталоги для DocumentRoot
.
Затем остановите веб-сервер apache, убедитесь, что ваш брандмауэр принимает подключения к порту 443, и вызовите certbot
или letsencrypt
. Я не верю, что он изменит мою конфигурацию apache, поэтому я использую certonly
вариант. Сделайте один проход для каждого домена -
letsencrypt certonly -d example.com -d www.example.com
Затем свяжите конфигурации apache с sites-enabled
или используйте a2ensite
или, однако, вы управляете активными конфигурациями, проверьте конфигурацию apache с помощью apache2ctl -t
и если все отчеты в порядке, перезапустите apache.