Fehlerhafte Konfigurationsdateien

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Symptom

Der Edge Router wird mithilfe von NGINX implementiert. Während des Edge-Upgradeprozesses 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, in /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. Allerdings können Sie Ihre API-Proxys aufgrund der fehlerhaften Konfigurationsdateien möglicherweise nicht ausführen.

Mögliche Ursachen

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

Diagnose

  1. Entfernen Sie das Suffix .bad aus den Dateinamen im Verzeichnis /opt/nginx/conf.d, sodass sie auf „.conf“ enden.
  1. Führen Sie das NGINX-configtest-Tool aus, um den Grund für den Fehler zu ermitteln:
    /opt/nginx/scripts/apigee-nginx configtest
    

Auflösung

  1. Wenn der Konfigurationstest den Grund für die fehlerhaften Konfigurationsdateien ermittelt, beheben Sie das Problem, indem Sie die entsprechenden Änderungen an dem jeweiligen Attribut in der Datei /opt/apigee/customer/application/router.properties oder im 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.

Das folgende Beispiel zeigt, wie Sie das Problem anhand der Informationen aus dem NGINX-Konfigurationstest beheben können.

Beispiel 1: Falscher Wert für eine NGINX-Property

  1. Angenommen, Sie haben die Property proxy_busy_buffers_size in der Datei /opt/apigee/customer/application/router.properties auf 128 K aktualisiert:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 
    

Dies hat dazu geführt, dass die Konfigurationsdateien im Verzeichnis /opt/apigee/nginx/conf.d als fehlerhaft markiert wurden.

  1. Führen Sie den NGINX-Befehl configtest aus, um den Grund 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 von configtest zeigen an, dass der Wert für das Attribut proxy_busy_buffers_size größer oder gleich proxy_busy_buffers_size sein sollte, aber auf einen falschen Wert gesetzt zu sein scheint.

  1. Prüfen Sie die Werte, die für die Attribute proxy_buffer_size und proxy_bunuff_buffers_size in der Datei 0-default.conf festgelegt wurden:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
    
  1. Aktualisieren Sie in der Datei /opt/apigee/customer/application/router.properties den Wert von „proxy_bundes_buffers_size“ 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. Router neu starten:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    

Das Problem wurde behoben und die fehlerhaften Konfigurationsdateien wurden entfernt.

Beispiel 2: Das Upgrade von NGINX kann bei diesem Vorgang nicht durchgeführt werden (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 weist darauf hin, dass der Prozess NGINX nicht von 1.10.x auf 1.12.x aktualisieren konnte. Es gibt einen bekannten Programmfehler im Zusammenhang mit dem Upgrade von Edge Private Cloud auf Version 18.01.

Um dieses Problem ordnungsgemäß zu diagnostizieren (nur, wenn Sie Private Cloud 18.01 verwenden), gehen Sie so vor:

rpm -aq | grep apigee-nginx

Dieser Befehl sollte die installierte RPM als Version 1.12.x zurückgeben. Ist dies nicht der Fall, gehen Sie folgendermaßen vor:

  1. Beenden Sie die Edge-Router-Komponente.
  2. Sichern Sie die Edge-Router-Komponente.
  3. Führen Sie den folgenden Befehl aus, um ein Upgrade auf Apigee-Nginx 1.2.x durchzuführen:
  4. sudo yum update apigee-nginx
  5. Alle *.bad Dateien unter „/opt/apigee/nginx/conf.d.“ löschen
  6. Starten Sie die Edge-Router-Komponente neu.