Fehlerhafte Konfigurationsdateien

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X.
info

Symptom

Der Edge-Router wird mit NGINX implementiert. Während des Edge-Upgrades oder beim Ändern der Konfiguration des Routers können NGINX-Konfigurationsfehler auftreten. Wenn diese Fehler auftreten, markiert Edge alle NGINX-Konfigurationsdateien, die das Problem verursacht haben, mit dem Suffix `.bad` im Verzeichnis /opt/nginx/conf.d:

-rw-r--r-- 1 apigee apigee 522 Jul 20 08:41 0-default.conf.bad 
-rw-r--r-- 1 apigee apigee 577 Jul 20 08:42 0-fallback.conf 
-rw-r--r-- 1 apigee apigee 1062 Jul 20 08:18 0-map.conf 
-rw-r--r-- 1 apigee apigee 1887 Jul 20 08:42 custorg_test_default.conf.bad

Fehlermeldungen

Es werden keine Fehlermeldungen angezeigt. Möglicherweise können Sie Ihre API Proxys jedoch aufgrund der fehlerhaften Konfigurationsdateien nicht ausführen.

Mögliche Ursachen

In der Regel werden die NGINX-Konfigurationsdateien als fehlerhaft markiert, weil falsche Werte für NGINX-Attribute in der /opt/apigee/customer/application/router.properties Datei festgelegt wurden oder weil falsche Änderungen an einem virtuellen Host vorgenommen wurden.

Diagnose

  1. Entfernen Sie das Suffix .bad aus den Dateinamen im Verzeichnis /opt/nginx/conf.d, sodass sie mit ` .conf` enden.
  1. Führen Sie das NGINX-Konfigurationstesttool aus, um die Ursache für den Fehler zu ermitteln:
    /opt/nginx/scripts/apigee-nginx configtest

Auflösung

  1. Wenn der Konfigurationstest die Ursache für die fehlerhaften Konfigurationsdateien ermittelt, beheben Sie das Problem, indem Sie die entsprechenden Änderungen am jeweiligen Attribut in der /opt/apigee/customer/application/router.properties Datei oder am virtuellen Host vornehmen.
  1. Entfernen Sie das Verzeichnis /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
  1. Starten Sie den Router neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  1. Im Verzeichnis /opt/nginx/conf.d sollten keine fehlerhaften Konfigurationsdateien mehr angezeigt werden.

Wenn das Problem weiterhin besteht, wenden Sie sich an den Apigee Edge-Support.

Hier ist ein Beispiel, das zeigt, wie Sie das Problem anhand der Informationen beheben, die der NGINX-Konfigurationstest liefert.

Beispiel 1: Falscher Wert für ein NGINX-Attribut festgelegt

  1. Angenommen, Sie haben das Attribut „proxy_busy_buffers_size“ auf 128 K in der /opt/apigee/customer/application/router.properties Datei aktualisiert, wie unten gezeigt:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 

Dadurch wurden die Konfigurationsdateien im Verzeichnis /opt/apigee/nginx/conf.d als fehlerhaft markiert.

  1. Führen Sie den NGINX-Konfigurationstestbefehl aus, um die Ursache für den Fehler zu ermitteln:
    /opt/nginx/scripts/apigee-nginx configtest
    nginx: [emerg] "proxy_busy_buffers_size" must be equal to or greater than the maximum of the value of "proxy_buffer_size" and one of the "proxy_buffers" in /opt/nginx/conf/nginx.conf:47
    nginx: configuration file /opt/nginx/conf/nginx.conf test failed

Die Ergebnisse des Konfigurationstests zeigen, dass der Wert für das Attribut proxy_busy_buffers_size größer oder gleich proxy_buffer_size sein sollte, aber anscheinend ein falscher Wert festgelegt wurde.

  1. Prüfen Sie die für die Attribute proxy_buffer_size und proxy_busy_buffers_size festgelegten Werte in der 0-default.conf Datei:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
  1. Aktualisieren Sie den Wert von „proxy_busy_buffers_size“ in der /opt/apigee/customer/application/router.properties Datei auf 512 K:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
  1. Entfernen Sie den Ordner /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
  1. Starten Sie den Router neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Das Problem wurde behoben und die fehlerhaften Konfigurationsdateien wurden entfernt.

Beispiel 2: Upgrade von NGINX schlägt fehl (nur Private Cloud 18.01)

Angenommen, Sie führen configtest aus und erhalten die folgenden Antworten:

/apigee-nginx configtest

 nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok
 nginx: [emerg] zero size shared memory zone "perclient"
 nginx: configuration file /opt/nginx/conf/nginx.conf test failed

Dieser Fehler gibt an, dass das Upgrade von NGINX von 1.10.x auf 1.12.x fehlgeschlagen ist. Es gibt einen bekannten Fehler im Zusammenhang mit dem Upgrade von Edge Private Cloud auf Version 18.01.

So diagnostizieren Sie dieses Problem richtig (nur wenn Sie Private Cloud 18.01 verwenden):

rpm -aq | grep apigee-nginx

Dieser Befehl sollte die installierte RPM-Datei als Version 1.12.x zurückgeben. Wenn dies nicht der Fall ist, führen Sie die folgenden Schritte aus:

  1. Beenden Sie die Komponente „edge-router“.
  2. Sichern Sie die Komponente „edge-router“.
  3. Führen Sie diesen Befehl aus, um ein Upgrade auf apigee-nginx 1.2.x durchzuführen:
  4. sudo yum update apigee-nginx
  5. Löschen Sie alle *.bad-Dateien unter /opt/apigee/nginx/conf.d.
  6. Starten Sie die Komponente „edge-router“ neu.