Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Non esiste una documentazione
Apigee Edge equivalente per questo argomento.
Sintomo
Un ApigeeIssue con Reason AIS_INGRESS_CERT_MISMATCH viene
mostrato quando visualizzi le risorse nello spazio dei nomi apigee.
Messaggi di errore
Dopo aver eseguito kubectl -n apigee get apigeeissues, viene visualizzato il seguente errore:
NAME SEVERITY REASON DOCUMENTATION AGE ingress-cert-mismatch-my-org-my-virtualhost ERROR AIS_INGRESS_CERT_MISMATCH https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_CERT_MISMATCH 5h18m
Causa: mancata corrispondenza del certificato Ingress
La chiave privata e il certificato archiviati nel secret Kubernetes a cui fa riferimento un
ApigeeRouteConfig non corrispondono.
Diagnosi
Esegui questo comando:
kubectl -n apigee describe apigeeissue ISSUE_NAME
Dove ISSUE_NAME è il nome del problema. Ad esempio,
ingress-cert-mismatch-my-org-my-virtualhost.
Viene restituito un risultato simile al seguente:
Name: ingress-cert-mismatch-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_CERT_MISMATCH Annotations: <none> API Version: apigee.cloud.google.com/v1alpha1 Kind: ApigeeIssue Metadata: Creation Timestamp: 2023-06-12T17:03:43Z Generation: 1 Owner References: API Version: apigee.cloud.google.com/v1alpha2 Kind: ApigeeOrganization Name: my-org UID: 7e83a52c-ce00-4bed-98be-55835ada1817 Resource Version: 3281563 UID: adc775c2-376d-4bf9-9860-500b2b2b8273 Spec: Details: Ingress cert and private key in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" do not match Documentation: https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_CERT_MISMATCH Reason: AIS_INGRESS_CERT_MISMATCH Severity: ERROR Events: <none>
Spec: Details: Ingress cert and private key in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" do not match
I contenuti di Spec.Details spiegano il nome di
ApigeeRouteConfig che si riferisce al secret Kubernetes contenente il certificato
ingress e la chiave privata.
Risoluzione
-
Utilizza
kubectl describeper visualizzare il nome diApigeeRouteConfigche ha la chiave e il certificato in entrata non corrispondenti:kubectl -n apigee describe apigeeissue ISSUE_NAME
Dove ISSUE_NAME è il nome del problema. Ad esempio,
ingress-cert-mismatch-my-org-my-virtualhost.In questo esempio,
ApigeeRouteConfigmy-org-my-virtualhostfa riferimento al secretmy-org-my-virtualhost. -
Determina il nome di
virtualhostdaApigeeRouteConfig.Il nome di
ApigeeRouteConfigè nel formato:<Apigee organization>-<virtualhost name>.In questo esempio,
my-orgè l'organizzazione Apigee e il nome dell'host virtuale èmy-virtualhost. -
Trova l'host virtuale corrispondente nel file
overrides.yaml:virtualhosts: ... - name: my-virtualhost selector: app: apigee-ingressgateway sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ... -
Verifica che i file del certificato e della chiave utilizzati corrispondano.
Utilizzando
sslCertPathesslKeyPathdel passaggio precedente, convalida la corrispondenza delle somme MD5 utilizzandoopenssl:openssl x509 -noout -modulus -in SSL_CERT_PATH | openssl md5
openssl rsa -noout -modulus -in SSL_KEY_PATH | openssl md5
-
Dove SSL_CERT_PATH è il
sslCertPathdel passaggio precedente. Ad esempio:./certs/vhost.pem. -
Dove SSL_KEY_PATH è il
sslKeyPathdel passaggio precedente. Ad esempio:./certs/vhost.key.
L'output dei due comandi precedenti deve corrispondere:
openssl x509 -noout -modulus -in ./certs/vhost.pem | openssl md5 MD5(stdin)= 40ba189dbe9d6fbfbdde1a8ef803d2d4
openssl rsa -noout -modulus -in ./certs/vhost.key | openssl md5 MD5(stdin)= 40ba189dbe9d6fbfbdde1a8ef803d2d4
-
Dove SSL_CERT_PATH è il
-
Se l'output dei comandi precedenti non corrisponde, utilizza uno dei seguenti metodi per correggere il problema:
-
Aggiorna
sslCertPathesslKeyPathdell'host virtuale in modo che puntino ai percorsi dei file corretti. -
Correggi i contenuti del file
sslCertPathosslKeyPathin modo che contengano la coppia di chiave e certificato corrispondente corretta.
-
Aggiorna
-
Applica le modifiche all'host virtuale utilizzando Helm:
helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE
Assicurati di includere tutte le impostazioni mostrate, incluso
--atomicin modo che l'azione venga annullata in caso di errore.
Deve raccogliere informazioni diagnostiche
Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli le seguenti informazioni diagnostiche e poi contatta l'assistenza clienti Google Cloud:
- L'ID progetto Google Cloud .
- Il nome dell'organizzazione Apigee hybrid.
- Il campo
Spec.DetailsdiApigeeIssue. -
(facoltativo) File a cui fanno riferimento
sslCertPathesslKeyPathper il virtual host interessato.