Wie richte ich eine http-Website und eine https-Website auf einem Single-IP-Server in Apache ein?

Wie richte ich eine http-Website und eine https-Website auf einem Single-IP-Server in Apache ein?

Ich möchte eine http-Website einrichten:http://beispiel1.com, und eine https-Website:https://example2.commit der folgenden Konfiguration:

Listen 80
Listen 443
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
    ServerName example1.com
    DocumentRoot /var/www/example1.com/public_html
</VirtualHost>

<VirtualHost *:443>
    ServerName example2.com
    DocumentRoot /var/www/example2.com/public_html
    SSLCertificateFile...
    SSLCertificateKeyFile...
    SSLEngine On
</VirtualHost>

Wenn ich jedochhttps://example1.com, ich werde weitergeleitet zuhttps://example2.comWenn ich besuchehttp://example2.com, ich werde weitergeleitet zuhttp://beispiel1.com. Das ist nicht das, was ich will. Ich möchtehttps://example1.comUndhttp://example2.comgibt es überhaupt nicht. Was soll ich tun?

Antwort1

DuWillemüssen zwei weitere VirtualHost-Blöcke definiert werden. Wenn Apache keinen passenden VirtualHost für diesen Namen findet, wird der erste VirtualHost verwendet, der zum Port gehört.

Natürlich muss es sich nicht um die gleiche Website handeln:

  • Sie können eine Fehlerseite bereitstellen, z. B. eine allgemeine404 Nicht gefunden. Das wird die Leute nerven.
  • Sie können beispielsweise example2.comeine RewriteRule verwenden, um alle HTTP-Besucher auf HTTPS umzuleiten.
  • Denn example1.com… also, ich verstehe wirklich nicht, warum Sie das nicht über HTTPS bereitstellen?

Sie können den Browser jedoch nicht dazu veranlassen, zu melden, dass die Domäne nicht existiert, da es sich immer noch um dieselbe Domäne handelt, unabhängig davon, wie darauf zugegriffen wird.

verwandte Informationen