Let’s Encrypt mit dynamischen Subdomains

Let’s Encrypt mit dynamischen Subdomains

Das Setup ist wie folgt. Ich habe eine Domäne, z. B. example.com habe ich Apache2 mit einem eingerichtet. VirtualDocumentRootAuf diese Weise kann ich eine Subdomäne ganz einfach auf einen bestimmten Ordner verweisen:

Datei 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>

Wenn Sie test.example.comdie Seite besuchen, wird im Verzeichnis „Websites“ nach einem Ordner gesucht testund dieser bereitgestellt.

Das funktioniert wie vorgesehen, aber ich wollte Let’s Encrypt für SSL verwenden. Dieses kann noch keine Wildcard-Zertifikate verarbeiten. Wie gehe ich ein solches Problem an?

Momentane Situation:

Installierte Let’s Encrypt-Zertifikate mit:sudo certbot --apache -d example.com -d admin.example.com -d www.example.com

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

Alle Subdomains werden weiterhin zu umgeleitet https. Nur die Topdomain example.com, admin.example.comund www.example.comes sollte https sein.

Antwort1

Das Problem besteht darin, dass Sie den Umfang der Konfiguration nicht standortspezifisch festgelegt haben.

Es ist wichtig zu beachten, dass die separaten Konfigurationsdateien „pro Site“ nicht wirklich eine Apache-HTTPD-Funktion sind. Es handelt sich lediglich um eine (relativ gängige) Konvention aus administrativen Gründen, die letztendlich eine IncludeDirektive in der Hauptkonfigurationsdatei verwendet, um alles beim Laden der Konfiguration zu einer einzigen Konfiguration zusammenzuführen.

Normalerweise enthalten diese separaten Konfigurationsdateien ihren gesamten Inhalt, VirtualHostum ihre Auswirkungen einzugrenzen, aber Sie scheinen nur eine globale Konfiguration zu haben, einschließlich Ihrer Weiterleitungen von http zu https.

Antwort2

Versuch, Zertifikate vom Server zu erstellen

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

verwandte Informationen