Fehlerhafte Konfigurationsdateien

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

Symptom

Der Edge Router wird mithilfe von NGINX implementiert. Während des Edge-Upgrade-Prozesses oder wenn die Konfiguration des Routers ändern, werden möglicherweise NGINX-Konfigurationsfehler angezeigt. Wenn diese Fehler auftreten, markiert Edge alle NGINX-Konfigurationsdateien, die das Problem verursacht haben, /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 die API jedoch nicht ausführen, aufgrund von fehlerhaften Konfigurationsdateien.

Mögliche Ursachen

In der Regel werden die NGINX-Konfigurationsdateien als fehlerhaft markiert, entweder weil falsche Werte auf NGINX-Eigenschaft(en) in der Datei /opt/apigee/customer/application/router.properties oder falsche Änderungen an einem virtuellen Host vorgenommen werden.

Diagnose

  1. Entfernen Sie das Suffix .bad aus den Dateinamen im /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 identifiziert, beheben Sie das Problem, indem Sie die entsprechenden Änderungen an der jeweiligen Property im /opt/apigee/customer/application/router.properties-Datei oder virtueller Host.
  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. Fehlerhafte Konfigurationsdateien sollten nun nicht mehr im /opt/nginx/conf.d .

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

Das folgende Beispiel zeigt, wie Sie das Problem anhand der Informationen NGINX-Konfigurationstest.

Beispiel 1: Falscher Wert für eine NGINX-Eigenschaft festgelegt

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

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

  1. Führen Sie den NGINX-configtest-Befehl 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 muss gleich oder größer als sein. proxy_buffer_size, aber anscheinend auf einen falschen Wert festgelegt ist.

  1. Die für die Attribute festgelegten Werte prüfen proxy_buffer_size und proxy_ unterstützt_buffers_size in der Datei 0-default.conf:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
    
  1. Aktualisieren Sie den Wert von proxy_strict_buffers_size auf 512 K im /opt/apigee/customer/application/router.properties-Datei:
    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: NGINX konnte nicht aktualisiert 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 NGINX nicht von 1.10.x auf 1.12.x aktualisiert werden konnte. Es gibt einen bekannten Programmfehler im Zusammenhang mit dem Upgrade von Edge Private Cloud auf Version 18.01.

Gehen Sie so vor, um dieses Problem richtig zu diagnostizieren (nur wenn Sie Private Cloud 18.01 verwenden):

rpm -aq | grep apigee-nginx

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

  1. Stoppen Sie die Edge-Router-Komponente.
  2. Sichern Sie die Edge-Router-Komponente.
  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. Alle *.bad Dateien unter /opt/apigee/nginx/conf.d. löschen
  6. Starten Sie die Edge-Router-Komponente neu.