Virtuelle Hosts für die Cloud konfigurieren

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Cloud-Kunden mit einem kostenpflichtigen Konto können einen virtuellen Host in einer Organisation erstellen.

Weitere Informationen:

Wer kann virtuelle Karten erstellen und bearbeiten? Hosts in der Cloud

Das Erstellen und Ändern eines virtuellen Hosts ist für kostenpflichtige Konten nur in Edge Cloud verfügbar. Der Nutzer, der den virtuellen Host erstellt, muss die Rolle eines Organisationsadministrators oder eine benutzerdefinierte Rolle mit Berechtigungen zum Ändern eines virtuellen Hosts. Nutzer mit anderen Rollen haben zum Erstellen virtueller Hosts autorisiert.

Zahlende Kunden haben beispielsweise folgende Möglichkeiten:

  • Ein- und Zwei-Wege-TLS aktivieren
  • Schlüsselspeicher/Truststore angeben, der vom virtuellen Host verwendet wird

Mit kostenlosen Konten und Testkonten können keine virtuellen Hosts erstellt oder geändert werden und sind auf die virtuellen Hosts beschränkt die bei der Edge-Registrierung 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 Mit kostenlosen Konten und Testkonten können keine virtuellen Hosts erstellt oder geändert werden.
Nutzerrolle Organisationsadministrator Nur ein Administrator der Organisation kann einen virtuellen Host oder einen Nutzer mit einer benutzerdefinierten Rolle mit zum Ändern eines virtuellen Hosts.
Anzahl der virtuellen Hosts Maximal 20

Es sind maximal 20 virtuelle Hosts pro Organisation/Umgebung in der Cloud.

Hinweis: Die Anzahl der virtuellen Hosts im privaten Bereich Cloud

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

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

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

Sie können mehrere virtuelle Hosts an Port 443 erstellen, sofern diese eindeutige Host-Aliasse und alle unterstützen TLS.

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 Ihrem TLS-Schlüssel erstellt.

Sie benötigen ein Zertifikat, das von einer vertrauenswürdigen Instanz 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 der Cloud unterstützt nur TLS Version 1.2.

Host-Alias Einzigartig in der Organisation und Umgebung Der Host-Alias ist für eine andere Kombination aus Organisation und Umgebung nicht vorhanden.
Domainname Eigentümer ist der Kunde

Sie müssen Inhaber des im virtuellen Hosts angegebenen Domainnamens sein. Edge-Prüfungen, um sicherzustellen, dass der vom Host-Alias definierte Domainname mit den Metadaten in der TLS- Zertifikat.

Insbesondere überprüft Edge die folgenden Informationen im Zertifikat:

  • CN – Common Name
  • SAN – Alternativer Antragstellername

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

Edge überprüft auch, ob das Zertifikat nicht 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 mit einem Browser erstellen

In den meisten Beispielen in diesem Abschnitt wird die Edge API zum Erstellen oder Ändern virtueller Hosts verwendet. können Sie in der Edge-Benutzeroberfläche einen virtuellen Host erstellen.

So erstellen Sie einen virtuellen Host mithilfe der Edge-Benutzeroberfläche:

  1. Melden Sie sich bei apigee.com/edge an.
  2. Wählen Sie Verwaltung > Virtuelle Hosts
  3. Wählen Sie die Umgebung aus, zum Beispiel prod oder test.
  4. Wählen Sie + Virtual Host (Virtueller Host) aus, um einen virtuellen Host zu erstellen, oder wählen Sie 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. Beispielsweise definiert das folgende XML-Objekt ein virtueller Host für One-Way-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 haben Sie Folgendes getan:

  • Geben Sie als Name myTLSVHost an. Verwenden Sie den Namen als Referenz den virtuellen Host in einem API-Proxy oder in einem API-Aufruf.
  • 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 in einer DNS-Definition und CNAME definiert. Datensatz.
  • Geben Sie die Portnummer als 443 an. Wenn keine Angabe gemacht wird, standardmäßig ist der Port auf 443 eingestellt.
  • Aktivieren Sie TLS bei Bedarf.

    Das <Enable>-Element auf „true“ gesetzt ist, um One-Way-TLS zu aktivieren, und die Elemente und <KeyStore> geben die Keystore und Schlüssel-Alias, der von der TLS-Verbindung verwendet wird.

    Um Zwei-Wege-TLS zu aktivieren, setzen Sie <ClientAuthEnabled> auf "true" und Geben Sie mit dem Element <TrustStore> einen Truststore an. Der Truststore enthält den Zertifikatsaussteller des Clients und die erforderliche CA-Kette des Zertifikats.

    Hinweis: Da Edge SSL ursprünglich unterstützt hat, wird das Tag, das Sie zum Konfigurieren verwenden, TLS heißt <SSLInfo>.

Beachten Sie, dass es zusätzliche Eigenschaften gibt, die Sie im virtuellen Host festlegen können. Für eine Referenz für alle Attribute finden Sie unter Referenz zu virtuellen Host-Attributen.

Schlüsselspeicher und Truststore-Name im virtuellen Host angeben

Wenn Sie einen virtuellen Host zur Unterstützung von TLS konfigurieren, geben Sie einen Schlüsselspeicher mithilfe einer reference beschrieben. Eine Referenz ist eine Variable, die den Namen des Schlüsselspeichers oder Truststore, anstatt den Schlüsselspeicher- oder Truststore-Namen direkt anzugeben, wie unten gezeigt:

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

Der Vorteil einer Referenz besteht darin, dass Sie deren Wert ändern können, um aus dem Schlüsselspeicher, der vom virtuellen Host verwendet wird, in der Regel, weil das Zertifikat im aktuellen Schlüsselspeicher in naher Zukunft auslaufen. Wenn du den Wert der Referenz änderst, musst du nicht neu starten den Edge Router. Siehe Mit Referenzen arbeiten für zum Erstellen und Ändern von Referenzen.

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 Truststores

Sie müssen die folgende Einschränkung berücksichtigen, wenn Sie Verweise auf Schlüsselspeicher und Trust Stores:

  • Sie können Schlüsselspeicher- und Truststore-Referenzen in virtuellen Hosts nur verwenden, wenn Sie SNI und beenden Sie SSL auf den Apigee-Routern.
  • Wenn sich vor den Apigee-Routern ein Load-Balancer befindet und Sie TLS auf dem können Sie keine Keystore- und Truststore-Referenzen in virtuellen Hosts verwenden.

Virtuellen Host für Zwei-Wege-TLS definieren

Um Zwei-Wege-TLS zu aktivieren, setzen Sie das Element <ClientAuthEnabled> auf true und geben Sie einen Truststore an, mithilfe einer Referenz mit dem <TrustStore>-Element. Der Truststore enthält den Zertifikatsaussteller des Clients und die erforderliche CA-Kette des Zertifikats. Der Kunde muss außerdem für Zwei-Wege-TLS konfiguriert ist.

Um einen virtuellen Host für Zwei-Wege-TLS zu erstellen, erstellen Sie ein XML-Objekt, das die virtuelle Host:

<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 haben Sie Folgendes getan:

  • Aktivieren Sie Zwei-Wege-TLS, indem Sie <ClientAuthEnabled> auf „true“ setzen.
  • Geben Sie den Verweis auf den Truststore mit dem Element <TrustStore> an. Der Truststore enthält den Zertifikatsaussteller des Clients und die erforderliche CA-Kette des Zertifikats.

Virtuellen Host definieren, der das Zertifikat und den Schlüssel der kostenlosen Apigee-Testversion verwendet

Wenn Sie ein kostenpflichtiges Edge for Cloud-Konto und noch kein TLS-Zertifikat und keinen TLS-Schlüssel haben, können Sie Ein virtueller Host, der das Zertifikat und den Schlüssel der kostenlosen Apigee-Testversion 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 eine Domain von *.apigee.net definiert. Daher entspricht der Parameter <HostAlias> des virtuellen Hosts muss ebenfalls das Format *.apigee.net haben.

Wenn du eine bidirektionale TLS-Verbindung verwendest, musst du das <ClientAuthEnabled>-Element trotzdem auf true aus und geben Sie mithilfe einer Referenz mit dem <TrustStore>-Element einen Truststore an. enthalten, wie oben unter Virtuellen Host für Zwei-Wege-TLS definieren beschrieben.

In einem XML-Objekt, das den virtuellen Host mit dem Zertifikat und dem Schlüssel der kostenlosen Apigee-Testversion definiert, wird Folgendes weggelassen: <KeyStore>- und <KeyAlias>-Elemente und ersetzt sie durch die <UseBuiltInFreeTrialCert>-Element, wie unten gezeigt:

<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 für Zwei-Wege-TLS 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 die Option Integriertes kostenloses Testzertifikat verwenden aus. wenn Sie den virtuellen Host erstellen, um das kostenlose Apigee-Zertifikat und den kostenlosen Apigee-Schlüssel zu verwenden:

Wählen Sie „Integriertes kostenloses Testzertifikat verwenden“ aus.

Virtuellen Host erstellen

Gehen Sie wie folgt vor, um den virtuellen Host zu erstellen:

  1. Erstellen Sie einen DNS-Eintrag und einen CNAME-Eintrag für Ihre öffentlich zugängliche Domain api.myCompany.com in diesem Beispiel, die verweist auf [org]-[environment].apigee.net.
  2. Erstellen und konfigurieren Sie einen Schlüsselspeicher – in diesem Beispiel den Namen myTestKeystore –, indem Sie Gehen Sie dabei wie hier beschrieben vor: Erstellen von Schlüsselspeichern und Truststore mithilfe der Edge-Benutzeroberfläche In diesem Beispiel Achten Sie darauf, dass der Schlüsselspeicher den Alias myKeyAlias für das Zertifikat verwendet und privaten Schlüssel enthält.
  3. Laden Sie Ihr Zertifikat und Ihren Schlüssel in den Schlüsselspeicher hoch. Stellen Sie sicher, dass der in Ihrem cert entspricht dem Host-Alias, den Sie für den virtuellen Host verwenden möchten.
  4. Erstellen Sie mithilfe der Edge-Benutzeroberfläche oder -API einen Verweis auf den Schlüsselspeicher. Die Referenz gibt den Namen des Schlüsselspeichers und den Referenztyp als KeyStore an. Siehe Mit Referenzen arbeiten für zum Erstellen und Ändern von Referenzen.

  5. Erstellen Sie den virtuellen Host mithilfe der Funktion Create a Virtual Host API verwenden. Achten Sie darauf, den richtigen Schlüsselspeicherverweis und den richtigen Schlüsselalias anzugeben. Verwenden Sie den folgenden POST API-Aufruf, um den Schlüsselspeicher zu erstellen und die API zu verwenden mit dem Namen myTLSVHost:
    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 mit dem Client bidirektionale TLS-Verbindungen durchführen, setzen Sie <ClientAuthEnabled> auf „true“. und geben Sie den Truststore mithilfe des Elements <TrustStore> an. Der Kunde muss korrekt für Zwei-Wege-TLS konfiguriert sein, d. h. Edge hat einen Truststore, der die Zertifikataussteller und Zertifikatskette des Clients. Erstellen Sie den Truststore mithilfe des beschriebenen Verfahrens hier: Erstellen von Schlüsselspeichern und Truststore mithilfe der Edge-Benutzeroberfläche

  6. Wenn Sie bereits API-Proxys haben, fügen Sie den virtuellen Host zum <HTTPConnection>-Element in der ProxyEndpoint. 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

Nach der Aktualisierung eines API-Proxys zur Verwendung des virtuellen Hosts und dem Erstellen des DNS-Eintrags und CNAME -Eintrag für den Host-Alias, 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, um einen vorhandenen virtuellen Host zu ändern:

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

    Hinweis: Wenn Sie <KeyStore> oder <TrustStore>, um eine Referenz zu verwenden, kannst du den Wert der Referenz ändern jederzeit ändern. Falls Sie jedoch irgendwann <KeyStore> oder <TrustStore>, um eine andere Referenz zu verwenden, oder ändere <KeyAlias> Wenn Sie einen anderen Alias verwenden möchten, müssen Sie sich an den Apigee Edge-Support wenden.
  2. TLS-Attribute des virtuellen Hosts ändern.

Das Ändern des Werts eines Referenz

Sie können den Wert einer Referenz ändern, um den von einem virtuellen Host.

Bevor du den Wert des Bezugs änderst:

  1. Erstellen Sie einen neuen Schlüsselspeicher und laden Sie ein Zertifikat und einen Schlüssel wie unter beschrieben hoch. Erstellen von Schlüsselspeichern und Truststore mithilfe der Edge-Benutzeroberfläche Im neuen Schlüsselspeicher Stellen Sie sicher, dass Sie für das Schlüsselalias denselben Namen wie im vorhandenen Schlüssel verwenden. speichern.
  2. Erstellen Sie bei Bedarf einen neuen Truststore und laden Sie ein Zertifikat hoch, wie unter beschrieben. Erstellen von Schlüsselspeichern und Truststore mithilfe der Edge-Benutzeroberfläche
  3. Ändere die Referenz wie unter Mit Referenzen arbeiten beschrieben ab.

Wenn Sie die TLS-Attribute der virtueller Host

Zahlende Kunden können die Aktualisieren Sie eine Virtual Host API, um einen virtuellen Host zu aktualisieren. Mit dieser API können Sie alle Eigenschaften für den virtuellen Host, der unter Referenz zu virtuellen Host-Attributen

Wenn Sie den virtuellen Host ändern, führt Edge eine Validierung ähnlich wie beim Erstellen eines virtueller Host. Das bedeutet, dass Edge bei einer Änderung Folgendes überprüft:

  • Die vom Host-Alias angegebene Domain wird in keiner anderen Organisation verwendet und zu verbessern.
  • Sie sind Inhaber des Domainnamens. Insbesondere überprüft Edge, ob die folgenden Informationen im cert entspricht dem Hostalias: <ph type="x-smartling-placeholder">
      </ph>
    • CN – Common Name
    • SAN – Alternativer Antragstellername
    • Edge überprüft, ob das Zertifikat nicht abgelaufen ist.

Führen Sie die folgenden Schritte aus, um einen virtuellen Host mithilfe der Edge API zu ändern:

  1. Aktualisieren Sie den virtuellen Host mithilfe der Aktualisieren Sie eine Virtual Host API. Wenn Sie die API verwenden, müssen Sie die vollständige Definition den virtuellen Host im Anfragetext, nicht nur die Elemente, die Sie ändern möchten. In dieser Beispiel: Sie legen den Wert des Attributs 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

Das Ändern eines virtueller Host zur Verwendung von Verweisen auf den Schlüsselspeicher und den Truststore

Alle neuen virtuellen Hosts für Edge in der Cloud verwenden den Verweis auf den Schlüsselspeicher und den Truststore. Mit Verweisen können Sie den Schlüsselspeicher und den Truststore ändern, ohne den Apigee Edge-Support zu kontaktieren.

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

Aktualisieren eines virtuellen Hosts zur Verwendung eines Referenz

So aktualisieren Sie den virtuellen Host:

  1. Erstellen Sie bei Bedarf einen neuen Schlüsselspeicher und laden Sie ein Zertifikat hoch, wie unter beschrieben. Erstellen von Schlüsselspeichern und Truststore mithilfe der Edge-Benutzeroberfläche Wenn Sie bereits eine Schlüsselspeicher ist, können Sie einen Verweis konfigurieren, der darauf verweist.
  2. Erstellen Sie einen neuen Verweis auf den 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 einen Verweis konfigurieren, der darauf verweist.
  4. Erstellen Sie einen neuen Verweis auf den Truststore.
  5. Aktualisieren Sie den virtuellen Host, um den Keystore, Alias, Truststore und andere TLS-Verbindungen festzulegen Eigenschaften. Die Nutzlast für den Aufruf 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. Apigee kontaktieren Unterstützung beim Neustart der Edge Router, um den Vorgang abzuschließen.