Zwei https-Virtualhosts auf demselben Server: gleicher Port, unterschiedliche Subdomänen

Zwei https-Virtualhosts auf demselben Server: gleicher Port, unterschiedliche Subdomänen

Ich habe versucht, nach diesem Szenario zu suchen, kann aber nicht genau dieses Setup finden. Ich möchte etwas in der Art des Folgenden haben:

Ich möchte, dass zwei Subdomains auf verschiedene HTTPS-Sites mit unterschiedlichen Dokumentenstämmen umleiten. Das SSL-Zertifikat, das wir haben, ist auf Domänenebene (*example.com). Folgendes scheint nicht zu funktionieren: Wenn ich für jeden Port mehr als einen virtuellen Host eingebe, erhalte ich die Meldung „Diese Webseite ist nicht verfügbar“. Irgendwelche Vorschläge?

NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
  ServerName subdomain1.example.com
  RedirectPermanent / https://subdomain1.example.com
</VirtualHost>
<VirtualHost *:80>
  ServerName subdomain2.example.com
  RedirectPermanent / https://subdomain2.example.com
</VirtualHost>
<VirtualHost *:443>
  DocumentRoot /srv/www/subd1/
  ServerName subdomain1.example.com
  # more directives
</VirtualHost>
<VirtualHost *:443>
  DocumentRoot /srv/www/subd2/
  ServerName subdomain2.example.com
  # more directives
</VirtualHost>

Wir haben den DNS, der sowohl subdomain1.example.com als auch subdomain2.example.com an die IP-Adresse unseres Servers weiterleitet.

Bearbeiten: Ein Fehler in der Beispielkonfiguration (keine ServerName-Direktive) wurde behoben und Informationen zu unserem DNS hinzugefügt.

Antwort1

Ihr Konfigurationsbeispiel sollte funktionieren (vorausgesetzt, Sie haben die DNS-Einträge für diese virtuellen Hosts richtig eingestellt, damit sie auf den betreffenden Server aufgelöst werden), aber Sie scheinen keine ServerNameAnweisungen eingefügt zu haben – versuchen Sie Folgendes (vorausgesetzt, es handelt sich nicht nur um einen Konstruktionsfehler in Ihrer Beispielkonfiguration):

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
  ServerName subdomain1.example.com
  RedirectPermanent / https://subdomain1.example.com
</VirtualHost>

<VirtualHost *:80>
  ServerName subdomain2.example.com
  RedirectPermanent / https://subdomain2.example.com
</VirtualHost>

<VirtualHost *:443>
  DocumentRoot /srv/www/subd1/
  ServerName subdomain1.example.com
  # more directives
</VirtualHost>

<VirtualHost *:443>
  DocumentRoot /srv/www/subd2/
  ServerName subdomain2.example.com
  # more directives
</VirtualHost>

verwandte Informationen