Let's Encrypt con subdominios dinámicos

Let's Encrypt con subdominios dinámicos

La configuración es así. Tengo un dominio, por ejemplo, example.com configuré Apache2 con VirtualDocumentRoot, de esta manera puedo apuntar un subdominio a una carpeta específica de una manera sencilla:

Archivo sites-available/websites.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>

Entonces, cuando lo visita, test.example.combusca una testcarpeta en el directorio de sitios web y la sirve.

Esto funciona según lo previsto, pero quería usar Let's Encrypt para SSL. Que aún no puede manejar certificados comodín. ¿Cómo abordaría tal problema?

Situación actual:

Instalado, cifremos certificados con:sudo certbot --apache -d example.com -d admin.example.com -d www.example.com

Archivo: 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]

Todos los subdominios siguen siendo redirigidos a https. Solo topdomain y example.comdebe ser https.admin.example.comwww.example.com

Respuesta1

El problema es que no ha definido el alcance de ninguna configuración de forma específica del sitio.

Es importante tener en cuenta que los archivos de configuración separados "por sitio" no son realmente una característica httpd de Apache. Es solo una convención (relativamente común) para conveniencia administrativa que al final usa una Includedirectiva en el archivo de configuración principal para fusionar todo en una sola configuración cuando se carga la configuración.

Normalmente, estos archivos de configuración separados tienen todo su contenido dentro VirtualHostpara determinar sus efectos, pero parece que usted solo tiene una configuración global, incluidas las redirecciones de http a https.

Respuesta2

Intentando crear certificados desde el servidor

certbot certonly -d *.example.com -d admin.example.com -d www.example.com
Wildcard domains are not supported: *.example.com

información relacionada