Virtuelle Hosts für die Cloud konfigurieren

Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen
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 Organisationsadministrator oder eine benutzerdefinierte Rolle mit Berechtigungen zum Ändern eines virtuellen Hosts haben. Nutzer mit anderen Rollen sind nicht berechtigt, virtuelle Hosts zu erstellen.

Beispiel: Kunden mit kostenpflichtigen Konten haben folgende Möglichkeiten:

  • Ein- und Zwei-Wege-TLS aktivieren
  • Schlüsselspeicher/Truststore für den virtuellen Host angeben

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 den Edge-Preismodellen finden Sie unter https://apigee.com/api-management/#/pricing.

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

In der folgenden Tabelle sind die Anforderungen für das 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 Organisationsadministrator oder ein Nutzer mit einer benutzerdefinierten Rolle, der die Berechtigung zum Ändern eines virtuellen Hosts hat, kann einen virtuellen Host erstellen.
Anzahl der virtuellen Hosts Maximal 20

Sie können maximal 20 virtuelle Hosts pro Organisation/Umgebung in der Cloud erstellen.

Hinweis: In der Private Cloud gibt es keine Begrenzung für die Anzahl der virtuellen Hosts.

Die meisten Organisationen/Umgebungen verwenden zwei virtuelle Hosts: einen für HTTP- und einen für HTTPS-Zugriff. Möglicherweise benötigen Sie zusätzliche virtuelle Hosts, wenn in Ihrer Organisation/Umgebung der Zugriff über verschiedene Domainnamen möglich ist.

Basis-URL Protokoll enthalten Wenn Sie die Basis-URL für den virtuellen Host 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, sofern 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 Stelle 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 TLS-Version 1.2.

Host-Alias Eindeutig in der Organisation und Umgebung Der Hostalias ist für eine andere Kombination aus Organisation und Umgebung nicht vorhanden.
Domainname Im Besitz des Kunden

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

Edge prüft insbesondere die folgenden Informationen im Zertifikat:

  • CN – Allgemeiner Name
  • SAN – Subject Alternative Name

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

Edge prüft auch, ob das Zertifikat abgelaufen ist.

SNI-Unterstützung für Client-Apps 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 über einen Browser erstellen

In den meisten Beispielen in diesem Abschnitt wird die Edge API zum Erstellen oder Ändern von virtuellen Hosts verwendet. 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 Admin > Virtuelle Hosts aus.
  3. Wählen Sie die Umgebung aus, z. B. prod oder test.
  4. Klicken Sie auf + Virtueller Host, um einen virtuellen Host zu erstellen, oder wählen Sie den Namen eines vorhandenen virtuellen Hosts aus, um ihn zu bearbeiten.
  5. Weitere 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. Das folgende XML-Objekt definiert beispielsweise einen virtuellen Host für die Einweg-TLS:

<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 den Namen als myTLSVHost an. Verwenden Sie den Namen, um im API-Proxy oder in einem API-Aufruf auf den virtuellen Host zu verweisen.
  • Geben Sie den Host-Alias als api.myCompany.com an. Dies ist die öffentlich zugängliche Domain, die für den Zugriff auf Ihre APIs verwendet wird, wie durch eine DNS-Definition und einen CNAME-Eintrag definiert.
  • Geben Sie die Portnummer als 443 an. Wenn keine Angabe erfolgt, wird der Port standardmäßig auf 443 gesetzt.
  • Aktivieren Sie TLS nach Bedarf.

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

    Um die bidirektionale TLS zu aktivieren, legen Sie <ClientAuthEnabled> auf „true“ fest und geben Sie einen Truststore mit dem Element <TrustStore> an. Der Truststore enthält den Aussteller des Clientzertifikats und die CA-Kette des Zertifikats, die erforderlich ist.

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

Im virtuellen Host können Sie weitere Properties festlegen. Eine Referenz für alle Properties finden Sie unter Referenz zu Properties für virtuelle Hosts.

Festlegen, wie der Name des Schlüsselspeichers und des Truststore im virtuellen Host angegeben wird

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

    <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 des Verweises zu ändern. Weitere Informationen zum Erstellen und Ändern von Referenzen finden Sie unter Mit Referenzen 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 die folgende Einschrä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 definieren

Wenn Sie die bidirektionale TLS aktivieren möchten, legen Sie das Element <ClientAuthEnabled> auf true fest und geben Sie einen Truststore an. Nutzen Sie dazu einen Verweis mit dem Element <TrustStore>. Der Truststore enthält den Aussteller des Clientzertifikats und die CA-Kette des Zertifikats, die erforderlich ist. Der Client muss auch für die bidirektionale TLS richtig konfiguriert sein.

Wenn Sie einen virtuellen Host für die bidirektionale TLS 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 die 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 CA-Kette des Zertifikats, die erforderlich ist.

Einen virtuellen Host definieren, der das Apigee Freetrial-Zertifikat und den entsprechenden Schlüssel verwendet

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-Testzertifikat und den ‑Schlüssel verwendet. Das bedeutet, dass Sie den virtuellen Host erstellen können, ohne zuvor einen Schlüsselspeicher zu erstellen.

Das kostenlose Apigee-Testzertifikat ist für die Domain *.apigee.net definiert. Daher muss auch der <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 unter Virtuellen Host für die 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“.

Für die bidirektionale TLS definieren Sie den virtuellen Host 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 Use built-in free trial certificate (Integriertes Testzertifikat verwenden) aus, um das kostenlose Apigee-Zertifikat und den Schlüssel zu verwenden:

„Integriertes Zertifikat für kostenlosen Testzeitraum verwenden“ auswählen

Virtuellen Host erstellen

Gehen Sie folgendermaßen vor, um den virtuellen Host zu erstellen:

  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. Verwenden Sie dazu die hier beschriebene Vorgehensweise: Schlüsselspeicher und Truststore über die Edge-Benutzeroberfläche erstellen. In diesem Beispiel muss der Schlüsselspeicher den Aliasnamen myKeyAlias für das Zertifikat und den privaten Schlüssel verwenden.
  3. Laden Sie Ihr Zertifikat und Ihren Schlüssel in den Schlüsselspeicher hoch. Achten Sie darauf, dass der im Zertifikat angegebene Domainname mit dem Hostalias übereinstimmt, den Sie für den virtuellen Host verwenden möchten.
  4. Erstellen Sie einen Verweis auf den Keystore über die Edge-Benutzeroberfläche oder die API. Die Referenz gibt den Namen des Schlüsselspeichers und den Referenztyp als KeyStore an. Weitere Informationen zum Erstellen und Ändern von Referenzen finden Sie unter Mit Referenzen arbeiten.

  5. Erstellen Sie den virtuellen Host mit der API Create a Virtual Host. Achten Sie darauf, dass Sie die richtige Schlüsselspeicherreferenz und den richtigen Schlüsselalias angeben. Verwenden Sie den folgenden POST-API-Aufruf, um den Keystore 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, legen Sie <ClientAuthEnabled> auf „true“ fest und geben Sie den Truststore mit dem Element <TrustStore> an. Der Client muss für die bidirektionale TLS richtig konfiguriert sein. Das bedeutet, dass Edge einen Truststore mit dem Aussteller des Clientzertifikats und der Zertifikatskette hat. Erstellen Sie den Truststore mit der hier beschriebenen Vorgehensweise: Keystores 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 automatisch allen neuen API-Proxys hinzugefügt. Weitere Informationen finden Sie unter API-Proxy für die Verwendung eines virtuellen Hosts konfigurieren.

Nachdem Sie einen API-Proxy für die Verwendung des virtuellen Hosts aktualisiert und den DNS-Eintrag und den CNAME-Eintrag für den Hostalias erstellt haben, können Sie auf den API-Proxy zugreifen, wie unten gezeigt:

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 zahlende Cloud-Kunden ausführen, um einen vorhandenen virtuellen Host zu ändern:

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

    Hinweis: Wenn Sie für <KeyStore> oder <TrustStore> eine Referenz festgelegt haben, können Sie den Wert der Referenz jederzeit ändern. Wenn Sie jedoch <KeyStore> oder <TrustStore> ändern möchten, um einen anderen Verweis zu verwenden, oder <KeyAlias> ändern möchten, um einen anderen Alias zu verwenden, müssen Sie sich an den Apigee Edge-Support wenden.
  2. Ändern der TLS-Eigenschaften des virtuellen Hosts

Wert eines Verweises ändern

Sie können den Wert eines Verweises ändern, um den vom virtuellen Host verwendeten Keystore oder Truststore zu ändern.

Bevor Sie den Wert des Verweises ä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. Verwenden Sie im neuen Schlüsselspeicher denselben Namen für den Schlüsselalias wie im vorhandenen Schlüsselspeicher.
  2. Erstellen Sie bei Bedarf einen neuen Truststore und laden Sie ein Zertifikat hoch, wie unter Keystores und Truststores über die Edge-Benutzeroberfläche erstellen beschrieben.
  3. Ändern Sie den Verweis wie unter Mit Verweisen arbeiten beschrieben.

TLS-Attribute des virtuellen Hosts ändern

Kunden mit kostenpflichtigen Konten können die API zum Aktualisieren eines virtuellen Hosts verwenden, um einen virtuellen Host zu aktualisieren. Mit dieser API können Sie alle Attribute für den virtuellen Host festlegen, die unter Referenz zu Attributen für virtuelle Hosts beschrieben sind.

Wenn Sie den virtuellen Host ändern, führt Edge eine Validierung durch, die der beim Erstellen eines virtuellen Hosts ähnelt. Bei einer Änderung prüft Edge Folgendes:

  • 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 Hostalias übereinstimmen:
    • CN – Allgemeiner Name
    • SAN – Subject Alternative Name
    • Edge prüft, ob das Zertifikat abgelaufen ist.

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

  1. Aktualisieren Sie den virtuellen Host mit 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 für die Verwendung von Verweisen auf den Schlüsselspeicher und Truststore ändern

Alle neuen virtuellen Hosts für Edge in der Cloud verwenden Verweise auf den Schlüsselspeicher und den Truststore. Mit 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 für die Verwendung eines Verweises aktualisieren

Gehen Sie so vor, um den virtuellen Host zu aktualisieren:

  1. Erstellen Sie bei Bedarf einen neuen Keystore und laden Sie ein Zertifikat hoch, wie unter Keystores und Truststores über die Edge-Benutzeroberfläche erstellen beschrieben. Wenn Sie bereits einen Keystore 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 einen neuen Verweis 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 Aufruf lautet:
    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.