Southbound-mTLS für konfigurierbare Proxys aktivieren

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

In diesem Thema wird beschrieben, wie Sie Southbound Mutual TLS (mTLS) aktivieren, um Traffic von Ihrem konfigurierbaren Apigee-API-Proxy zu mTLS-fähigen Proxy-Zielen und Back-Ends zu sichern. Gegenseitiges TLS (Mutual TLS, mTLS) ermöglicht die Authentifizierung sowohl der Client- als auch der Serverendpunkte in einem TLS-Handshake. Nutzer können dadurch gewährleisten, dass sowohl der Client als auch der Server vertrauenswürdige Entitäten sind. Viele Unternehmensunternehmen antworten auf mTLS, um sicherzustellen, dass der gesamte Traffic innerhalb eines Netzwerks vertrauenswürdig und sicher ist. Durch das Hinzufügen von mTLS-Funktionen zu konfigurierbaren Proxys können Apigee-Kunden ihre aktuelle Nutzung von mTLS bei der Umstellung auf die Verwendung konfigurierbarer Proxys nahtlos aufrechterhalten oder die Sicherheit bei der Kommunikation zwischen vorhandenen konfigurierbaren Proxys und ihren Back-Ends erhöhen.

In den folgenden Abschnitten werden die Schritte zum Einrichten der mTLS-Unterstützung für Southbound (d. h. Gateway -> Backend)-Traffic zu konfigurierbaren Apigee-Proxys beschrieben.

Die konfigurierbare VORSCHAU der API-Proxy-Entwicklung ist nur für Kunden mit einem kostenpflichtigen Apigee-Abo verfügbar. Apigee-Kunden mit Pay-as-you-go-Organisationen können programmierbare API-Proxys erstellen.

Überblick über mTLS-Konzepte

Das folgende Diagramm zeigt, wie der mTLS-Handshake zwischen einem Client und einem Server funktioniert, in diesem Fall ein konfigurierbarer Proxy und ein Ziel-Backend:

mtls-diagram

Im obigen Diagramm haben sowohl der Server als auch der Client einen Schlüsselspeicher, der einen eigenen Zertifikat-/öffentlichen Schlüssel und einen privaten Schlüssel enthält, was die Möglichkeit eines "gegenseitigen" TLS-Handshakes angibt. Während der Prüfung vergleicht der konfigurierbare Proxy-Client das Zertifikat in seinem Truststore mit dem Zertifikat, das vom Zielserver-Backend gesendet wurde.

Beim Ausführen des TLS-Handshakes:

  1. Der TLS-Server stellt dem TLS-Client sein Zertifikat zur Authentifizierung bereit.
  2. Der Client prüft die Identität des Servers und präsentiert dann ein eigenes Zertifikat, um sich gegenüber dem Server zu authentifizieren.
  3. Nach der gegenseitigen Authentifizierung berechnen der Client und der Server einen gemeinsamen geheimen Schlüssel, der zum Verschlüsseln von Anfragen und Antworten zwischen ihnen verwendet wird.

mTLS-fähigen konfigurierbaren Proxy bereitstellen

Der folgende Abschnitt beschreibt die Schritte zum Bereitstellen eines konfigurierbaren Proxys mit aktiviertem mTLS für den Traffic zwischen dem Gateway und seinem Ziel-Backend-Server.

Schritt 1: Quelldateien konfigurieren´´´

Bevor Sie einen mTLS-fähigen konfigurierbaren Proxy bereitstellen können, müssen Sie einige neue Dateien einrichten, einschließlich der folgenden:

  • Ein Truststore (ein Nur-Zertifikat-Alias), ein Schlüssel und ein Zertifikatsalias, der von Ihrem konfigurierbaren Proxy-Gateway für die Kommunikation mit dem Ziel-Backend-Server verwendet wird.
  • Einen Apigee-Schlüsselspeicher, der den oben beschriebenen Truststore, den Schlüssel und das Zertifikat enthält.
  • Eine Archivbereitstellung mit den Schlüsselspeicherdetails in der Zielserverkonfiguration.

So erstellen Sie die erforderlichen Quelldateien:

  1. Erstellen Sie die privaten und öffentlichen Schlüssel für die private Zertifizierungsstelle (Certificate Authority, CA) mit dem folgenden Befehl:
    openssl req \
      -new \
      -x509 \
      -nodes \
      -days 365 \
      -subj '/CN=my-ca' \
      -keyout RootCA.key \
      -out RootCA.pem
  2. Erstellen Sie das konfigurierbare Proxy-Gateway-Zertifikat, den privaten Schlüssel und die Anfrage zum Signieren des Zertifikats (Certificate Signing Request, CSR) mithilfe der folgenden Befehle:
    openssl genrsa -out my_gateway.key 2048
    openssl req -new -key my_gateway.key -out my_gateway.csr
  3. Signieren Sie das neu erstellte Clientzertifikat mithilfe der zuvor erstellten Zertifizierungsstelle:
    openssl x509 -req -in my_gateway.csr -CA RootCA.pem \
      -CAkey RootCA.key -set_serial 01 -out my_gateway.pem -days 365 -sha256
  4. Erstellen Sie ein Serverzertifikat, einen privaten Schlüssel und eine Anfrage für die Signierung des Zertifikats (Certificate Signing Request, CSR) mithilfe der folgenden Befehle:
    openssl genrsa -out my_server.key 2048
    openssl req -new -key my_server.key -subj '/CN=${SERVER_HOST}' -out my_server.csr
  5. Signieren Sie das neu erstellte Serverzertifikat mit der zuvor erstellten Zertifizierungsstelle:
    openssl x509 -req -in my_server.csr -CA RootCA.pem \
      -CAkey RootCA.key -set_serial 01 -out my_server.pem -days 365 -sha256

Nach erfolgreichem Abschluss sollten Sie acht neue Dateien in Ihrem Verzeichnis haben, wie im folgenden Beispiel gezeigt:

ls \
  RootCA.key
  RootCA.pem // Certificate used for the Apigee truststore
  my_gateway.csr
  my_gateway.key  // Used for the Apigee key
  my_gateway.pem // Used for the client cert alias
  my_server.csr
  my_server.key // Used for the server key
  my_server.pem // Used for the server cert


  

Schritt 2: Schlüsselspeicher konfigurieren

Erstellen und konfigurieren Sie einen Apigee-Schlüsselspeicher mit den folgenden Schritten:

  1. Öffnen Sie die Apigee-UI in einem Browser.
  2. Wählen Sie Admin > Umgebungen > TLS-Schlüsselspeicher aus.
  3. Klicken Sie auf die Schaltfläche + Schlüsselspeicher, um einen neuen Schlüsselspeicher zu erstellen.
  4. Geben Sie einen Namen in das Dialogfeld Neuer Schlüsselspeicher ein, wie in der folgenden Abbildung dargestellt: Schlüsselspeichername
  5. Klicken Sie auf Schlüsselspeicher hinzufügen.
  6. Wählen Sie auf der Landingpage TLS-Schlüsselspeicher die Zeile für den Schlüsselspeicher aus, den Sie gerade erstellt haben, und klicken Sie dann auf +, um einen neuen Alias zu erstellen.
  7. Gehen Sie auf dem Bildschirm Neuen Alias erstellen so vor:
    • Geben Sie den Aliasnamen ein.
    • Wählen Sie im Bereich Zertifikatsdetails im Drop-down-Menü Typ die Option Zertifikat und Schlüssel aus.
    • Verwenden Sie die Dateiauswahl, um die Keystore-Zertifikatsdatei auszuwählen, die in einem vorherigen Schritt erstellt wurde.
    • Geben Sie ein Schlüsselpasswort ein.
    • Wählen Sie mithilfe der Dateiauswahl die Schlüsseldatei aus, die in einem vorherigen Schritt erstellt wurde.
  8. Wenn Sie wie in der folgenden Abbildung gezeigt die Felder ausgefüllt haben, klicken Sie auf Save (Speichern), um die Alias- und Zertifikatdetails zu speichern. Zertifikatschlüssel erstellen
  9. Wählen Sie auf der Landingpage TLS-Schlüsselspeicher die Zeile für den gerade erstellten Schlüsselspeicher aus und klicken Sie dann auf +, um einen neuen Alias für den Truststore zu erstellen.
  10. Gehen Sie auf dem Bildschirm Neuen Alias erstellen so vor:
    • Geben Sie den Aliasnamen ein.
    • Wählen Sie im Drop-down-Menü Typ des Steuerfelds Zertifikatdetails die Option Nur Zertifikat aus.
    • Wählen Sie mithilfe der Dateiauswahl die Zertifikatsdatei von Truststore aus, die in einem vorherigen Schritt erstellt wurde.
    • Wenn Sie wie in der folgenden Abbildung gezeigt die Felder ausgefüllt haben, klicken Sie auf Save (Speichern), um die Alias- und Zertifikatdetails zu speichern. Truststore erstellen

Sie haben jetzt einen Schlüsselspeicher und einen Truststore in Apigee, die die TLS-Details enthalten, die zum Bereitstellen des konfigurierbaren Proxyarchivs mit mTLS erforderlich sind.

Schritt 3: Archiv formatieren

Nachdem Sie nun einen Schlüsselspeicher mit Ihren Zertifikaten und Schlüsseln haben, können Sie das Archiv erstellen, mit dem der konfigurierbare Proxy mit mTLS bereitgestellt wird.

Nach Abschluss der Konfiguration sollte Ihre Archivdateistruktur so aussehen:

src/
|  main/apigee
|  |  apiproxies/helloworld
|  |  |  config.yaml
|  |  environments/dev
|  |  |  deployments.json
|  |  |  targetservers.json
…    

Die Datei targetservers.json enthält die Verweise auf den Schlüsselspeicher, der im vorherigen Schritt konfiguriert wurde. Die Datei sollte Verweise auf den Schlüsselspeicher, den Alias und den Truststore enthalten, der in Schritt 2 erstellt wurde. Beispiele:

#targetservers.json
[
    {
        "name": "mymtlstarget",
        "description": "An example use mTLS",
        "host": "foo",
        "port": 8080,
        "isEnabled": true,
        "sSLInfo": {
                "enabled": true,
                "clientAuthEnabled": true,
                "keyStore": "mtls_keystore",
                "keyAlias": "mtls_alias",
                "trustStore": "mtls_truststore",
                "ignoreValidationErrors": false,
                "protocols": [
                "1.2"
                ],
                }
        },
        "protocol": "HTTP"
    },
    …
]

Sie können jetzt in Ihrem Archiv-Proxy auf diesen Zielserver verweisen. apiproxies/helloworld/config.yaml könnte zum Beispiel einen Vorgang wie den folgenden enthalten:

...
operations:
  - id: mTLSOperation
   target:
      target_server_id: "mymtlstarget"
    http_match:
      - path_template: "/foo"
        method: GET
...

Schritt 4: Proxy bereitstellen

Wenn die Archiveinrichtung abgeschlossen ist, stellen Sie den konfigurierbaren Proxy mit dem folgenden Befehl bereit:

$ gcloud alpha apigee archives deploy --env=ENV_NAME --org=ORG_NAME --source=PATH_TO_SOURCE

Wobei:

  • ENV_NAME ist die Apigee-Umgebung, in der Ihr Proxy bereitgestellt werden soll.
  • ORG_NAME ist der Name Ihrer Apigee-Organisation.
  • PATH_TO_SOURCE ist der relative Pfad zum Quellverzeichnis, das Ihre Archivkonfiguration enthält

Beispiel:

$ gcloud alpha apigee archives deploy --env=dev --org=myorg --source=src

Wenn der Bereitstellungsvorgang abgeschlossen ist, sollten Sie die folgende Meldung sehen:

Waiting for operation [b64c2665-b5ac-43cc-9e2d-232e8895c2ed] to complete...done.

Wenn die Bereitstellung fehlschlägt, lesen Sie die Informationen unter Fehler bei der Bereitstellung archivieren, um Probleme im Zusammenhang mit diesem Schritt zu beheben.

Schritt 5: Proxy prüfen

Wenn Ihr Proxy erfolgreich bereitgestellt wurde, können Sie mit einem Befehl wie dem folgenden prüfen, ob er wie erwartet funktioniert:

$ curl https://ORG_NAME-ENV_NAME.PROXY_URL

Wobei:

  • ENV_NAME ist die Apigee-Umgebung, in der Ihr Proxy bereitgestellt werden soll.
  • ORG_NAME ist der Name Ihrer Apigee-Organisation.
  • PROXY_URL in der URL Ihres bereitgestellten Proxys

Wenn Sie beispielsweise einen helloworld-Proxy aufrufen, der bei Erfolg eine Nachricht zurückgibt:

$ curl https://myorg-dev.apigee.net/helloworld

Wenn Ihr Proxy wie erwartet funktioniert, sollten Sie Folgendes sehen:

{
        "message": "Hello world!"
}

Zertifikat für Ihren Proxy aktualisieren

Apigee verlängert die Zertifikate nicht automatisch in Ihrem Namen. Damit Ihre Proxys wie erwartet funktionieren, müssen Sie möglicherweise die von Ihren Umgebungen verwendeten Zertifikate von Zeit zu Zeit aktualisieren. Mit den folgenden Schritten wird beschrieben, wie Sie einen neuen Alias oder Truststore unter demselben Schlüsselspeicher erstellen, der für Ihren konfigurierbaren Proxy verwendet wird.

So aktualisieren Sie ein Aliaszertifikat:

  1. Öffnen Sie die Apigee-UI in einem Browser.
  2. Wählen Sie Admin > Umgebungen > TLS-Schlüsselspeicher und dann den Schlüsselspeicher aus, den Sie aktualisieren möchten.
  3. Erstellen Sie ein neues Aliasobjekt und wählen Sie die neue Keystore-Zertifikatsdatei aus, wie oben in Schritt 2: Schlüsselspeicher konfigurieren beschrieben.
  4. Aktualisieren Sie die Datei targetservers.json, um auf das neue Schlüsselspeicherobjekt zu verweisen. Beispiel:
    $ cat src/main/apigee/apiproxies/helloworld/apiproxy/environments/dev/targetservers.json
    [
        {
            "name": "mymtlstarget",
            "description": "An example use mTLS",
            "host": "foo",
            "port": 8080,
            "isEnabled": true,
            "sSLInfo": {
                    "enabled": true,
                    "clientAuthEnabled": true,
                    "keyStore": "mtls_keystore",
                    "keyAlias": "new_mtls_alias",
                    "trustStore": "mtls_truststore",
                    "ignoreValidationErrors": false,
                    "protocols": [
                    "1.2"
                    ],
                    }
            },
            "protocol": "HTTP"
        },
        ]
  5. Stellen Sie das neue Archiv bereit. Beispiele:
    $ gcloud alpha apigee archives deploy --env=ENV_NAME --org=ORG_NAME --source=PATH_TO_SOURCE

    Wobei:

    • ENV_NAME ist die Apigee-Umgebung, in der Ihr Proxy bereitgestellt werden soll.
    • ORG_NAME ist der Name Ihrer Apigee-Organisation.
    • PATH_TO_SOURCE ist der relative Pfad zum Quellverzeichnis, das Ihre Archivkonfiguration enthält

    Beispiel:

    $ gcloud alpha apigee archives deploy --env=dev --org=myorg --source=src

    Wenn der Bereitstellungsvorgang abgeschlossen ist, sollten Sie die folgende Meldung sehen:

    Waiting for operation [b64c2665-b5ac-43cc-9e2d-232e8895c2ed] to complete...done.

Der Proxy sollte jetzt die aktualisierte Keystore-Zertifikatsdatei im Alias-Objekt verwenden. Prüfen Sie, ob Ihr Proxy wie erwartet funktioniert. Führen Sie dazu die Schritte unter Schritt 4: Proxy prüfen aus.

So aktualisieren Sie ein Truststore-Zertifikat:

  1. Öffnen Sie die Apigee-UI in einem Browser.
  2. Wählen Sie Admin > Umgebungen > TLS-Schlüsselspeicher und dann den Schlüsselspeicher aus, den Sie aktualisieren möchten.
  3. Erstellen Sie ein neues Aliasobjekt und wählen Sie die neue Keystore-Zertifikatsdatei aus, wie oben in Schritt 2: Schlüsselspeicher konfigurieren beschrieben.
  4. Aktualisieren Sie die Datei targetservers.json, um auf das neue Schlüsselspeicherobjekt zu verweisen. Beispiel:
    $ cat src/main/apigee/apiproxies/helloworld/apiproxy/environments/dev/targetservers.json
    [
        {
            "name": "mymtlstarget",
            "description": "An example use mTLS",
            "host": "foo",
            "port": 8080,
            "isEnabled": true,
            "sSLInfo": {
                    "enabled": true,
                    "clientAuthEnabled": true,
                    "keyStore": "mtls_keystore",
                    "keyAlias": "mtls_alias",
                    "trustStore": "new_mtls_truststore",
                    "ignoreValidationErrors": false,
                    "protocols": [
                    "1.2"
                    ],
                    }
            },
            "protocol": "HTTP"
        },
        ]
  5. Stellen Sie das neue Archiv bereit. Beispiele:
    $ gcloud alpha apigee archives deploy --env=ENV_NAME --org=ORG_NAME --source=PATH_TO_SOURCE

    Wobei:

    • ENV_NAME ist die Apigee-Umgebung, in der Ihr Proxy bereitgestellt werden soll.
    • ORG_NAME ist der Name Ihrer Apigee-Organisation.
    • PATH_TO_SOURCE ist der relative Pfad zum Quellverzeichnis, das Ihre Archivkonfiguration enthält

    Beispiel:

    $ gcloud alpha apigee archives deploy --env=dev --org=myorg --source=src

    Wenn der Bereitstellungsvorgang abgeschlossen ist, sollten Sie die folgende Meldung sehen:

    Waiting for operation [b64c2665-b5ac-43cc-9e2d-232e8895c2ed] to complete...done.

Der Proxy sollte jetzt die aktualisierte Truststore-Zertifikatsdatei im Alias-Objekt verwenden. Prüfen Sie, ob Ihr Proxy wie erwartet funktioniert. Führen Sie dazu die Schritte unter Schritt 4: Proxy prüfen aus.

Anleitung zur Fehlerbehebung und Fehler

In diesem Abschnitt werden einige häufige Konfigurationsprobleme und Fehlermeldungen beschrieben, die beim Konfigurieren von mTLS für Ihren konfigurierbaren Proxy auftreten können. Mögliche Lösungen für diese Probleme werden nach Möglichkeit vorgeschlagen.

Fehler beim Aktualisieren des Schlüsselspeichers

In diesem Abschnitt werden Fehler beschrieben, die beim Aktualisieren von Schlüsselspeicherdateien auftreten können.

Schlüsselspeicher-Alias aktualisieren

Wenn Sie versuchen, einen Truststore- oder Keystore-Alias mit einem neuen Zertifikat für eine konfigurierbare Proxyumgebung zu aktualisieren, ohne ein neues Archiv bereitzustellen, wird folgende Fehlermeldung angezeigt:

Alias updates are currently disabled for configurable proxy environments. To update the certificate,
create a new alias and reference it within a new archive deployment.

Schlüsselspeicherreferenz aktualisieren

Wenn Sie versuchen, eine Schlüsselspeicherreferenz für eine konfigurierbare Proxyumgebung zu aktualisieren, ohne ein neues Archiv bereitzustellen, wird der folgende Fehler angezeigt:

Reference updates are currently disabled for configurable proxy environments.
To update the reference, create a new reference and reference it within a new archive deployment.

Fehler bei der Bereitstellung archivieren

In diesem Abschnitt werden Fehlerfälle beschrieben, die bei der Bereitstellung des konfigurierbaren Proxyarchivs auftreten können.

Fehlender Schlüsselspeicher

Beschreibung

In diesem Szenario verweist das angegebene Archiv-Deployment auf einen nicht vorhandenen Schlüsselspeicher in seinem targetservers.json.

Beispiel
$ gcloud alpha apigee operations describe b64c2665-b5ac-43cc-9e2d-232e8895c2ed

Using Apigee organization 'myorg'
done: true
error:
  code: 3
  message: 'generic::invalid_argument: proxy "organizations/{org}/apis/{api}/revisions/1"
    contains reference(s) to invalid target server(s): target server "mtlstarget-docs"
    contains invalid TLS settings: missing required private key for "alias \"organizations/{org}/environments/{env}/keystores/does-not-exist/aliases/my_alias\"";
    missing required certificate(s) for "alias \"organizations/{org}/environments/{env}/keystores/does-not-exist/aliases/my_alias\""'
metadata:
  '@type': type.googleapis.com/google.cloud.apigee.v1.OperationMetadata
  operationType: INSERT
  state: FINISHED
  targetResourceName: organizations/{org}/environments/{env}/archiveDeployments/afjq46noszlmmgt3uh
name: organizations/{org}/operations/6b7dbb09-fa01-4cb1-8c3f-9393027b3d92
organization: {org}
uuid: 6b7dbb09-fa01-4cb1-8c3f-9393027b3d92
Lösung

Diesen Fehler können Sie so beheben:

  1. Erstellen Sie einen Schlüsselspeicher mit demselben Namen, auf den in der Datei targetservers.json verwiesen wird.
  2. Aktualisieren Sie die Datei targetservers.json, um auf einen vorhandenen, gültigen Apigee-Schlüsselspeicher zu verweisen.

Fehlender Alias

Beschreibung

In diesem Szenario verweist das angegebene Archiv-Deployment auf einen nicht vorhandenen Alias in der Datei targetservers.json:

Beispiel
$ gcloud alpha apigee operations describe b64c2665-b5ac-43cc-9e2d-232e8895c2ed

Using Apigee organization 'myorg'
done: true
error:
  code: 3
  message: 'generic::invalid_argument: proxy "organizations/{org}/apis/{api}/revisions/1"
    contains reference(s) to invalid target server(s): target server "mtlstarget-docs"
    contains invalid TLS settings: missing required private key for "alias \"organizations/{org}/environments/{env}/keystores/docs-keystore/aliases/does-not-exist\"";
    missing required certificate(s) for "alias \"organizations/{org}/environments/{env}/keystores/docs-keystore/aliases/does-not-exist\""'
metadata:
  '@type': type.googleapis.com/google.cloud.apigee.v1.OperationMetadata
  operationType: INSERT
  state: FINISHED
  targetResourceName: organizations/{org}/environments/{env}/archiveDeployments/knvztvpqxbpojcdi9o
name: organizations/{org}/operations/2917bb4a-ebcb-4c59-8f48-187f6423da5d
organization: {org}
uuid: 2917bb4a-ebcb-4c59-8f48-187f6423da5d
Lösung

Diesen Fehler können Sie so beheben:

  1. Erstellen Sie im angegebenen Schlüsselspeicher einen Alias mit demselben Namen, auf den in der Datei targetservers.json verwiesen wird.
  2. Aktualisieren Sie die Datei targetservers.json, um auf eine vorhandene Kombination aus Apigee Keystore und Alias zu verweisen.

Fehlender Truststore

Beschreibung

In diesem Szenario verweist das angegebene Archiv-Deployment auf einen nicht vorhandenen Alias in der Datei targetservers.json:

Beispiel
$ gcloud alpha apigee operations describe b64c2665-b5ac-43cc-9e2d-232e8895c2ed

Using Apigee organization 'myorg'
done: true
error:
  code: 3
  message: 'generic::invalid_argument: proxy "organizations/{org}/apis/{api}/revisions/1"
    contains reference(s) to invalid target server(s): target server "mtlstarget-docs"
    contains invalid TLS settings: missing required certificate(s) for truststore
    "organizations/{org}/environments/{env}/keystores/does-not-exist"'
metadata:
  '@type': type.googleapis.com/google.cloud.apigee.v1.OperationMetadata
  operationType: INSERT
  state: FINISHED
  targetResourceName: organizations/{org}/environments/{env}/archiveDeployments/{archive}
name: organizations/{org}/operations/5bb2ab24-e4ba-4fb9-ab7e-d620a0672557
organization: {org}
uuid: 5bb2ab24-e4ba-4fb9-ab7e-d620a0672557
Lösung

Diesen Fehler können Sie so beheben:

  1. Erstellen Sie einen Truststore innerhalb des angegebenen Schlüsselspeichers mit demselben Namen, auf den in der Datei targetservers.json verwiesen wird
  2. Aktualisieren Sie die Datei targetservers.json so, dass sie auf eine vorhandene gültige Kombination aus Apigee-Schlüsselspeicher und Truststore verweist.

Ungültiges Zertifikat für Alias oder Truststore

Beschreibung

In diesem Szenario verweist das angegebene Archiv-Deployment auf ein ungültiges oder abgelaufenes Zertifikat für den angegebenen Alias oder Truststore in seiner targetservers.json-Datei:

Beispiel
gcloud alpha apigee operations describe b64c2665-b5ac-43cc-9e2d-232e8895c2ed

done: true
error:
  code: 3
  message: 'generic::invalid_argument: proxy "organizations/{org}/apis/{api}/revisions/1"
    contains reference(s) to invalid target server(s): target server "mtlstarget-docs"
    contains invalid TLS settings: truststore "organizations/{org}/environments/{env}/keystores/expired-keystore"
    contains an invalid certificate within alias "organizations/{org}/environments/{env}/keystores/expired-keystore/aliases/expired":
    certificate has expired'
metadata:
  '@type': type.googleapis.com/google.cloud.apigee.v1.OperationMetadata
  operationType: INSERT
  state: FINISHED
  targetResourceName: organizations/{org}/environments/{env}/archiveDeployments/{archive}
name: organizations/{org}/operations/3e28f818-8e1f-4afc-aedd-4aed29cc5519
organization: {org}
uuid: 3e28f818-8e1f-4afc-aedd-4aed29cc5519
Lösung

Diesen Fehler können Sie so beheben:

  1. Den angegebenen Alias mit einem neuen und gültigen Zertifikat aktualisieren
  2. Aktualisieren Sie die Datei targetservers.json, um auf eine vorhandene Kombination aus Apigee Keystore und Alias zu verweisen.

Laufzeitfehler

In diesem Abschnitt werden Fehlerfälle beschrieben, die zur Laufzeit auftreten können.

Abgelaufene oder ungültige Zertifikate

Beschreibung

Wenn ein Zertifikat abgelaufen oder ungültig ist, wird möglicherweise eine 503-Fehlermeldung angezeigt, wenn Sie eine Anfrage an Ihren konfigurierbaren Proxy senden:

Beispiel
$ curl https://myorg-dev.apigee.net/helloworld

upstream connect error or disconnect/reset before headers. reset reason: connection failure,
transport failure reason: TLS error: 268435581:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
Lösung

Prüfen Sie Folgendes, um die Ursache dieses Fehlers zu ermitteln:

  • Die Backend-Zertifikate und -Schlüssel sind für die Proxyzertifikate und -schlüssel gültig, die im referenzierten Schlüsselspeicher vorhanden sind.
  • Die Backend-Zertifikate sind nicht abgelaufen. Zum Bestätigen:
    1. Öffnen Sie die Apigee-UI in einem Browser.
    2. Wählen Sie Admin > Umgebungen > TLS-Schlüsselspeicher und dann Ihren Schlüsselspeicher aus.
    3. Prüfen Sie den Ablaufstatus Ihrer Zertifikate.
  • Der referenzierte Schlüsselspeicher wurde während einer Archivbereitstellung nicht aktualisiert.

Folgen Sie der Anleitung unter Zertifikat für Ihren Proxy aktualisieren, um ein abgelaufenes Zertifikat zu aktualisieren.