Let's Encrypt с динамическими поддоменами

Настройка выглядит следующим образом. У меня есть домен, например example.com Я установил Apache2 с помощью VirtualDocumentRoot , таким образом я могу легко указать субдомен в определенной папке:

Файл sites-available / sites.conf :

ServerName example.com
ServerAlias *.example.com
VirtualDocumentRoot /var/www/websites/%1/

<Directory /var/www/websites/%1/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Итак, когда вы посещаете test.example.com , он ищет папку test в каталоге веб-сайтов и обслуживает ее.

Это работает, как задумано, но я хотел использовать Let's Encrypt для SSL. Который еще не может обрабатывать подстановочные сертификаты. Как мне решить такую ​​проблему?

Текущая ситуация:

Установлено, давайте шифруем сертификаты с помощью: sudo certbot --apache -d example.com -d admin.example.com -d www.example.com

Файл: sites-available / 000-default.conf :

DocumentRoot /var/www/websites/current/

<Directory /var/www/websites/current/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<IfModule mod_dir.c>
    DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
</IfModule>

# Let's Encrypt Redirect
RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

Все поддомены по-прежнему перенаправляются на https . Только topdomain example.com , admin.example.com и www.example.com должны быть https.

0
задан 4 March 2018 в 15:36
2 ответа

Проблема в том, что вы не просмотрели ни одну из конфигураций в зависимости от сайта.

Важно отметить, что отдельные конфигурационные файлы "для каждого сайта" на самом деле не являются функцией httpd в Apache. Это просто (относительно распространённое) соглашение для удобства администрирования, которое в конце концов использует директиву Include в главном конфигурационном файле для объединения всего в одну конфигурацию при загрузке конфигурации.

Обычно эти отдельные конфигурационные файлы имеют всё своё содержимое внутри VirtualHost для проверки их эффектов, но вы, кажется, имеете только глобальную конфигурацию, включая ваши http к https redirects.

.
1
ответ дан 5 December 2019 в 18:43

Пытаясь создать сертификаты с сервера

certbot certonly -d *.example.com -d admin.example.com -d www.example.com
Wildcard domains are not supported: *.example.com
-2
ответ дан 5 December 2019 в 18:43

Теги

Похожие вопросы