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


