Virtuelle Hosts für die Cloud konfigurieren

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

Ein Cloud-Kunde mit einem kostenpflichtigen Konto kann einen virtuellen Host in einer Organisation erstellen.

Wer kann virtuelle Hosts in der Cloud erstellen und ändern?

Das Erstellen und Ändern von virtuellen Hosts ist nur für kostenpflichtige Konten in Edge Cloud verfügbar. Der Nutzer, der den virtuellen Host erstellt, muss die Rolle Administrator der Organisation oder eine benutzerdefinierte Rolle mit Berechtigungen zum Ändern eines virtuellen Hosts haben. Nutzer mit anderen Rollen sind nicht berechtigt, virtuelle Hosts zu erstellen.

So haben zahlende Kunden beispielsweise folgende Möglichkeiten:

  • Uni- und bidirektionales TLS aktivieren
  • Geben Sie den vom virtuellen Host verwendeten Schlüsselspeicher/Truststore an.

Für kostenlose Konten und Testkonten können keine virtuellen Hosts erstellt oder geändert werden. Sie sind auf die virtuellen Hosts beschränkt, die bei der Edge-Registrierung für sie erstellt wurden. Weitere Informationen zu Edge-Preismodellen finden Sie unter https://apigee.com/api-management/#/pricing.

Voraussetzungen für die Konfiguration eines virtuellen Hosts für die Cloud

In der folgenden Tabelle sind die Anforderungen zum Erstellen eines virtuellen Hosts zusammengefasst:

Kategorie Anforderung Beschreibung
Kontotyp Kostenpflichtig Für kostenlose Konten und Testkonten können keine virtuellen Hosts erstellt oder geändert werden.
Nutzerrolle Organisationsadministrator Nur ein Nutzer mit der Rolle „Organization Administrator“ oder ein Nutzer mit einer benutzerdefinierten Rolle, der zum Ändern eines virtuellen Hosts berechtigt ist, kann einen virtuellen Host erstellen.
Anzahl der virtuellen Hosts Maximal 20

Sie sind auf maximal 20 virtuelle Hosts pro Organisation/Umgebung in der Cloud beschränkt.

Hinweis: Die Anzahl der virtuellen Hosts in der Private Cloud ist nicht begrenzt.

Die meisten Organisationen/Umgebungen verwenden zwei virtuelle Hosts: einen für den HTTP- und einen für den HTTPS-Zugriff. Möglicherweise benötigen Sie zusätzliche virtuelle Hosts, wenn Ihre Organisation oder Umgebung den Zugriff über verschiedene Domainnamen zulässt.

Basis-URL Enthält das Protokoll Wenn Sie die Basis-URL für den virtuellen Host entweder in der Benutzeroberfläche oder mit der API definieren, müssen Sie das Protokoll (z. B. „http://“ oder „https://“) als Teil der URL angeben.
Port 443

Sie können einen virtuellen Host nur auf Port 443 erstellen.

Sie können mehrere virtuelle Hosts auf Port 443 erstellen, solange sie eindeutige Hostaliasse haben und alle TLS unterstützen.

TLS Erforderlich

Sie können nur einen virtuellen Host erstellen, der TLS über HTTPS unterstützt. Sie müssen bereits einen Schlüsselspeicher und optional einen Truststore mit Ihrem TLS-Zertifikat und ‑Schlüssel erstellt haben.

Sie benötigen ein Zertifikat, das von einer vertrauenswürdigen Zertifizierungsstelle wie Symantec oder VeriSign signiert wurde. Sie können kein selbst signiertes Zertifikat verwenden.

Wenn Sie HTTP-Zugriff benötigen, wenden Sie sich an den Apigee Edge-Support.

TLS-Protokoll TLS 1.2

Edge in the Cloud unterstützt nur die TLS-Version 1.2.

Host-Alias Eindeutig in der Organisation und Umgebung Der Hostalias existiert nicht für eine andere Kombination aus Organisation und Umgebung.
Domainname Eigentum des Kunden

Sie müssen Inhaber des im virtuellen Host angegebenen Domainnamens sein. Edge prüft, ob der Domainname, wie vom Host-Alias definiert, mit den Metadaten im TLS-Zertifikat übereinstimmt.

Edge prüft insbesondere die folgenden Informationen im Zertifikat:

  • CN – Common Name
  • SAN – Subject Alternative Name

Platzhalter sind im SAN oder CN zulässig, z. B. *.myco.net.

Edge prüft außerdem, ob das Zertifikat nicht abgelaufen ist.

SNI-Unterstützung für Clientanwendungen Alle Client-Apps, die auf den virtuellen Host zugreifen, müssen SNI unterstützen.

SNI-Unterstützung ist für alle Apps erforderlich.

Virtuellen Host mit einem Browser erstellen

In den meisten Beispielen in diesem Abschnitt werden virtuelle Hosts mit der Edge API erstellt oder geändert. Sie können einen virtuellen Host aber auch in der Edge-Benutzeroberfläche erstellen.

So erstellen Sie einen virtuellen Host über die Edge-Benutzeroberfläche:

  1. Melden Sie sich unter apigee.com/edge an.
  2. Wählen Sie Verwaltung > Virtuelle Hosts aus.
  3. Wählen Sie die Umgebung aus, z. B. prod oder test.
  4. Wählen Sie + Virtueller Host aus, um einen virtuellen Host zu erstellen, oder den Namen eines vorhandenen virtuellen Hosts, um ihn zu bearbeiten.
  5. Ausführliche Informationen zum Ausfüllen der Felder für virtuelle Hosts finden Sie in der Tabelle oben.

Virtuellen Host für One-Way-TLS definieren

Ein XML-Objekt, das den virtuellen Host definiert. Im folgenden XML-Objekt wird beispielsweise ein virtueller Host für einseitige TLS-Verschlüsselung definiert:

<VirtualHost name="myTLSVHost"> 
    <HostAliases> 
        <HostAlias>api.myCompany.com</HostAlias> 
    </HostAliases> 
    <Port>443</Port> 
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>false</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
    </SSLInfo>
</VirtualHost>

In dieser Definition:

  • Geben Sie als Name myTLSVHost an. Verwenden Sie den Namen, um in einem API-Proxy oder API-Aufruf auf den virtuellen Host zu verweisen.
  • Geben Sie den Hostalias als api.myCompany.com an. Dies ist die öffentlich zugängliche Domain, die gemäß einer DNS-Definition und einem CNAME-Eintrag für den Zugriff auf Ihre APIs verwendet wird.
  • Geben Sie die Portnummer als 443 an. Wenn Sie diesen Parameter weglassen, wird standardmäßig Port 443 verwendet.
  • Aktivieren Sie nach Bedarf TLS.

    Das Element <Enable> ist auf „wahr“ festgelegt, um eine einseitige TLS-Verbindung zu aktivieren. Die Elemente <KeyStore> und <KeyStore> geben den Schlüsselspeicher und den Schlüsselalias an, die von der TLS-Verbindung verwendet werden.

    Wenn Sie die bidirektionale TLS aktivieren möchten, legen Sie <ClientAuthEnabled> auf „wahr“ fest und geben Sie mit dem Element <TrustStore> einen Truststore an. Der Truststore enthält den Aussteller des Clientzertifikats und die Zertifizierungsstellenkette des Zertifikats, die erforderlich ist.

    Hinweis:Da Edge ursprünglich SSL unterstützte, heißt das Tag, mit dem Sie TLS konfigurieren, <SSLInfo>.

Beachten Sie, dass Sie im virtuellen Host zusätzliche Properties festlegen können. Eine Referenz zu allen Properties finden Sie in der Referenz zu Properties für virtuelle Hosts.

Festlegen, wie der Name des Schlüsselspeichers und des Truststores im virtuellen Host angegeben werden soll

Wenn Sie einen virtuellen Host für die Unterstützung von TLS konfigurieren, geben Sie einen Schlüsselspeicher mit einer Referenz an. Ein Verweis ist eine Variable, die den Namen des Schlüsselspeichers oder Truststore enthält, statt den jeweiligen Namen direkt anzugeben, wie unten dargestellt:

    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>false</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
    </SSLInfo>

Der Vorteil eines Verweises besteht darin, dass Sie den Wert des Verweises ändern können, um den vom virtuellen Host verwendeten Schlüsselspeicher zu ändern, beispielsweise wenn das Zertifikat im aktuellen Schlüsselspeicher bald abläuft. Sie müssen den Edge-Router nicht neu starten, um den Wert der Referenz zu ändern. Weitere Informationen zum Erstellen und Ändern von Verweisen finden Sie unter Mit Verweisen arbeiten.

Sie können nur einen Verweis auf den Schlüsselspeicher und Truststore verwenden. Sie können keinen Verweis auf den Alias verwenden. Wenn Sie den Verweis auf einen Schlüsselspeicher ändern, achten Sie darauf, dass der Aliasname des Zertifikats mit dem alten Schlüsselspeicher identisch ist.

Einschränkungen bei der Verwendung von Verweisen auf Schlüsselspeicher und Truststore

Bei der Verwendung von Verweisen auf Schlüsselspeicher und Truststores müssen Sie folgende Beschränkung berücksichtigen:

  • Sie können Schlüsselspeicher- und Truststore-Verweise nur auf virtuellen Hosts verwenden, wenn Sie SNI unterstützen und SSL auf den Apigee-Routern beenden.
  • Wenn Sie einen Load Balancer vor den Apigee-Routern haben und die TLS auf dem Load Balancer beenden, können Sie keine Schlüsselspeicher- und Truststore-Verweise in virtuellen Hosts verwenden.

Virtuellen Host für bidirektionale TLS-Verbindungen definieren

Wenn Sie die bidirektionale TLS nutzen möchten, müssen Sie das Element <ClientAuthEnabled> dennoch auf true festlegen und einen Truststore angeben. Nutzen Sie dazu einen Verweis mit dem Element <TrustStore>. Der Truststore enthält den Aussteller des Clientzertifikats und die Zertifizierungsstellenkette des Zertifikats, die erforderlich ist. Außerdem muss der Client für die bidirektionale TLS-Kommunikation richtig konfiguriert sein.

Wenn Sie einen virtuellen Host für die beidseitige TLS-Verschlüsselung erstellen möchten, erstellen Sie ein XML-Objekt, das den virtuellen Host definiert:

<VirtualHost name="myTLSVHost"> 
    <HostAliases> 
        <HostAlias>api.myCompany.com</HostAlias> 
    </HostAliases> 
    <Port>443</Port> 
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>true</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
        <TrustStore>ref://myTestTruststoreRef</TrustStore> 
    </SSLInfo>
</VirtualHost>

In dieser Definition:

  • Aktivieren Sie bidirektionale TLS, indem Sie <ClientAuthEnabled> auf „true“ setzen.
  • Geben Sie den Verweis auf den Truststore mit dem Element <TrustStore> an. Der Truststore enthält den Aussteller des Clientzertifikats und die Zertifizierungsstellenkette des Zertifikats, die erforderlich ist.

Virtuellen Host mit dem Apigee-Zertifikat und -Schlüssel für den kostenlosen Testzeitraum definieren

Wenn Sie ein kostenpflichtiges Edge for Cloud-Konto haben und noch kein TLS-Zertifikat und -Schlüssel haben, können Sie einen virtuellen Host erstellen, der das Apigee-Zertifikat und den Schlüssel für die kostenlose Testversion verwendet. Das bedeutet, dass Sie den virtuellen Host erstellen können, ohne zuvor einen Schlüsselspeicher zu erstellen.

Das Apigee-Zertifikat für die kostenlose Testversion ist für die Domain *.apigee.net definiert. Daher muss auch die <HostAlias> des virtuellen Hosts das Format *.apigee.net haben.

Wenn Sie die bidirektionale TLS nutzen, müssen Sie das Element <ClientAuthEnabled> dennoch auf true festlegen und einen Truststore angeben. Nutzen Sie dazu einen Verweis mit dem Element <TrustStore>, wie oben im Abschnitt Virtuellen Host für bidirektionale TLS definieren beschrieben.

Ein XML-Objekt, das den virtuellen Host mit dem Apigee Freetrial-Zertifikat und dem entsprechenden Schlüssel definiert, übergeht die Elemente <KeyStore> und <KeyAlias> und ersetzt sie durch das Element <UseBuiltInFreeTrialCert>, wie unten dargestellt:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Der Standardwert des Elements <UseBuiltInFreeTrialCert> ist „false“.

Definieren Sie den virtuellen Host für die beidseitige TLS-Verschlüsselung so:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <TrustStore>ref://myTestTruststoreRef</TrustStore>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Wählen Sie in der Edge-Benutzeroberfläche beim Erstellen des virtuellen Hosts die Option Vorinstalliertes Zertifikat für den kostenlosen Test verwenden aus, um das kostenlose Apigee-Zertifikat und den Schlüssel zu verwenden:

Wählen Sie „Integriertes Zertifikat für den kostenlosen Testzeitraum verwenden“ aus.

Virtuellen Host erstellen

So erstellen Sie den virtuellen Host:

  1. Erstellen Sie einen DNS-Eintrag und einen CNAME-Eintrag für Ihre öffentlich zugängliche Domain, in diesem Beispiel api.myCompany.com, der auf [org]-[environment].apigee.net verweist.
  2. Erstellen und konfigurieren Sie einen Schlüsselspeicher mit dem Namen myTestKeystore. Gehen Sie dazu so vor: Schlüsselspeicher und Truststore mit der Edge-Benutzeroberfläche erstellen. Achten Sie in diesem Beispiel darauf, dass der Schlüsselspeicher für das Zertifikat und den privaten Schlüssel den Aliasnamen myKeyAlias verwendet.
  3. Laden Sie das Zertifikat und den Schlüssel in den Schlüsselspeicher hoch. Der im Zertifikat angegebene Domainname muss mit dem Hostalias übereinstimmen, den Sie für den virtuellen Host verwenden möchten.
  4. Erstellen Sie über die Edge-Benutzeroberfläche oder API eine Referenz auf den Schlüsselspeicher. Die Referenz gibt den Namen des Schlüsselspeichers und den Referenztyp KeyStore an. Weitere Informationen zum Erstellen und Ändern von Verweisen finden Sie unter Mit Verweisen arbeiten.

  5. Erstellen Sie den virtuellen Host mit der API Virtuellen Host erstellen. Geben Sie die richtige Schlüsselspeicherreferenz und den richtigen Schlüsselalias an. Verwenden Sie den folgenden POST API-Aufruf, um den Schlüsselspeicher mit dem Namen myTLSVHost zu erstellen:
    curl -X POST -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts \
      -d '<VirtualHost name="myTLSVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Port>443</Port>
        <SSLInfo>
          <Enabled>true</Enabled>
          <ClientAuthEnabled>false</ClientAuthEnabled>
          <KeyStore>ref://myTestKeystoreRef</KeyStore>
          <KeyAlias>myKeyAlias</KeyAlias>
        </SSLInfo>
      </VirtualHost>' \
      -u orgAdminEmail:password

    Wenn Sie die bidirektionale TLS mit dem Client nutzen, setzen Sie <ClientAuthEnabled> auf „wahr“ und geben Sie den Truststore mit dem Element <TrustStore> an. Der Client muss für die bidirektionale TLS-Verschlüsselung richtig konfiguriert sein. Das bedeutet, dass Edge einen Truststore mit dem Zertifikataussteller und der Zertifikatskette des Clients hat. Erstellen Sie den Truststore mithilfe der hier beschriebenen Schritte: Keystore und Truststore über die Edge-Benutzeroberfläche erstellen.

  6. Wenn Sie bereits API-Proxys haben, fügen Sie den virtuellen Host dem <HTTPConnection>-Element im ProxyEndpoint hinzu. Der virtuelle Host wird allen neuen API-Proxys automatisch hinzugefügt. Weitere Informationen finden Sie unter API-Proxy für die Verwendung eines virtuellen Hosts konfigurieren.

Nachdem Sie einen API-Proxy so aktualisiert haben, dass er den virtuellen Host verwendet, und den DNS-Eintrag und den CNAME-Eintrag für den Hostalias erstellt haben, können Sie wie unten gezeigt auf den API-Proxy zugreifen:

https://api.myCompany.com/v1/{project-base-path}/{resource-path}

Beispiel:

https://api.myCompany.com/v1/weather/forecastrss?w=12797282

Virtuellen Host ändern

Es gibt zwei Hauptaufgaben, die kostenpflichtige Cloud-Kunden ausführen müssen, um einen vorhandenen virtuellen Host zu ändern:

  1. Ändern des Werts eines Verweises auf einen Schlüsselspeicher oder Truststore

    Hinweis: Nachdem Sie eine <KeyStore> oder <TrustStore> so festgelegt haben, dass eine Referenz verwendet wird, können Sie den Wert der Referenz jederzeit ändern. Wenn Sie jedoch <KeyStore> oder <TrustStore> in eine andere Referenz ändern oder <KeyAlias> in einen anderen Alias ändern möchten, müssen Sie sich an den Apigee Edge-Support wenden.
  2. TLS-Eigenschaften des virtuellen Hosts ändern

Wert eines Verweises ändern

Sie können den Wert eines Verweises ändern, um den Schlüsselspeicher oder Truststore zu ändern, der von einem virtuellen Host verwendet wird.

Bevor Sie den Wert der Referenz ändern:

  1. Erstellen Sie einen neuen Schlüsselspeicher und laden Sie ein Zertifikat und einen Schlüssel hoch, wie unter Schlüsselspeicher und Truststore über die Edge-Benutzeroberfläche erstellen beschrieben. Achten Sie darauf, dass Sie im neuen Schlüsselspeicher für den Schlüsselalias denselben Namen verwenden wie im vorhandenen Schlüsselspeicher.
  2. Erstellen Sie bei Bedarf einen neuen Truststore und laden Sie ein Zertifikat hoch, wie unter Schlüsselspeicher und Truststore über die Edge-Benutzeroberfläche erstellen beschrieben.
  3. Ändern Sie den Verweis wie unter Mit Verweisen arbeiten beschrieben.

TLS-Eigenschaften des virtuellen Hosts ändern

Kostenpflichtige Kunden können die API Virtuellen Host aktualisieren verwenden, um einen virtuellen Host zu aktualisieren. Mit dieser API können Sie alle Eigenschaften für den virtuellen Host festlegen, die in der Referenz zu Eigenschaften für virtuelle Hosts beschrieben sind.

Wenn Sie den virtuellen Host ändern, führt Edge eine Validierung durch, die dem Erstellen eines virtuellen Hosts ähnelt. Das bedeutet, dass bei einer Änderung in Edge Folgendes geprüft wird:

  • Die vom Hostalias angegebene Domain wird nicht in einer anderen Organisation und Umgebung verwendet.
  • Sie sind Inhaber des Domainnamens. Edge prüft insbesondere, ob die folgenden Informationen im Zertifikat mit dem Alias des Hosts übereinstimmen:
    • CN – Common Name
    • SAN – Subject Alternative Name
    • Edge prüft, ob das Zertifikat nicht abgelaufen ist.

So ändern Sie einen virtuellen Host mithilfe der Edge API:

  1. Aktualisieren Sie den virtuellen Host mithilfe der API Virtuellen Host aktualisieren. Wenn Sie die API verwenden, müssen Sie die vollständige Definition des virtuellen Hosts im Anfragetext angeben, nicht nur die Elemente, die Sie ändern möchten. In diesem Beispiel legen Sie den Wert der Property proxy_read_timeout fest:

    curl -X PUT -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
      -d '<VirtualHost name="myTLSVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Port>443</Port>
        <SSLInfo>
          <Enabled>true</Enabled>
          <ClientAuthEnabled>false</ClientAuthEnabled>
          <KeyStore>ref://myTestKeystoreRef</KeyStore>
          <KeyAlias>myKeyAlias</KeyAlias>
        </SSLInfo>
        <Properties>
           <Property name="proxy_read_timeout">50</Property>
             </Properties>
      </VirtualHost>' \
      -u orgAdminEmail:password

Virtuellen Host so ändern, dass Verweise auf den Schlüsselspeicher und den Truststore verwendet werden

Alle neuen virtuellen Hosts für Edge in der Cloud verwenden einen Verweis auf den Schlüsselspeicher und den Truststore. Mithilfe von Verweisen können Sie den Schlüsselspeicher und den Truststore ändern, ohne sich an den Apigee Edge-Support wenden zu müssen.

Ältere virtuelle Hosts in Apigee Edge sind möglicherweise nicht für die Verwendung von Verweisen auf Schlüsselspeicher und Truststores konfiguriert. In diesem Fall können Sie den virtuellen Host so aktualisieren, dass er Verweise verwendet.

Virtuellen Host so aktualisieren, dass er Verweise verwendet

Führen Sie die folgenden Schritte aus, um den virtuellen Host zu aktualisieren:

  1. Erstellen Sie bei Bedarf einen neuen Schlüsselspeicher und laden Sie ein Zertifikat hoch, wie unter Schlüsselspeicher und Truststore über die Edge-Benutzeroberfläche erstellen beschrieben. Wenn Sie bereits einen Schlüsselspeicher haben, können Sie eine Referenz darauf konfigurieren.
  2. Erstellen Sie eine neue Referenz zum Schlüsselspeicher.
  3. Erstellen Sie bei Bedarf einen neuen Truststore und laden Sie ein Zertifikat hoch. Wenn Sie bereits einen Truststore haben, können Sie eine Referenz darauf konfigurieren.
  4. Erstellen Sie eine neue Referenz auf den Truststore.
  5. Aktualisieren Sie den virtuellen Host, um den Schlüsselspeicher, den Alias, den Truststore und alle anderen TLS-Attribute festzulegen. Die Nutzlast für den Anruf ist:
    curl -X PUT -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
      -d '<VirtualHost  name="myTLSVHost">
            <HostAliases>
              <HostAlias>api.myCompany.com</HostAlias>
            </HostAliases>
            <Port>443</Port>
            <OCSPStapling>off</OCSPStapling>
            <SSLInfo>
              <Enabled>true</Enabled>
              <ClientAuthEnabled>true</ClientAuthEnabled>
              <KeyStore>ref://myKeyStore2Way</KeyStore>
              <KeyAlias>keyAlias</KeyAlias>
              <TrustStore>ref://myTrustStore2Way</TrustStore>
              <IgnoreValidationErrors>false</IgnoreValidationErrors>
            </SSLInfo>
          </VirtualHost>' \
        -u orgAdminEmail:pWord
  6. Wenden Sie sich an den Apigee-Support, um die Edge-Router neu zu starten und den Vorgang abzuschließen.