File di configurazione non validi

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Sintomo

Il router perimetrale viene implementato utilizzando NGINX. Durante il processo di upgrade di Edge oppure quando cambiando la configurazione del router, potresti ricevere errori di configurazione NGINX. Quando questi si verificano errori, Edge contrassegna tutti i file di configurazione NGINX che hanno causato /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

Messaggi di errore

Non verrà visualizzato alcun messaggio di errore. Tuttavia, potresti non essere in grado di eseguire l'API a causa di file di configurazione non validi.

Possibili cause

In genere i file di configurazione NGINX sono contrassegnati come non validi perché sono impostati valori errati su Proprietà NGINX nel file /opt/apigee/customer/application/router.properties o se vengono apportate modifiche errate a un host virtuale.

Diagnosi

  1. Rimuovi il suffisso .bad dai nomi dei file nella sezione /opt/nginx/conf.d in modo che terminino con .conf.
  1. Esegui lo strumento configtest NGINX per determinare il motivo dell'errore:
    /opt/nginx/scripts/apigee-nginx configtest
    

Risoluzione

  1. Se il test di configurazione identifica il motivo dei file di configurazione non validi, risolvi il problema apportare le modifiche appropriate alla proprietà specifica del /opt/apigee/customer/application/router.properties file o host virtuale.
  1. Rimuovi la directory /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
    
  1. Riavvia il router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  1. Non dovresti più vedere file di configurazione non validi nella /opt/nginx/conf.d .

Se il problema persiste, contatta l'assistenza Apigee Edge.

Ecco un esempio che mostra come risolvere il problema in base alle informazioni fornite il test della configurazione NGINX.

Esempio 1: valore errato impostato per una proprietà NGINX

  1. Supponiamo che tu abbia aggiornato la proprietà "proxy_busy_buffers_size". a 128 kB nel file /opt/apigee/customer/application/router.properties, come mostrato sotto:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 
    

Di conseguenza, i file di configurazione sono stati contrassegnati come non validi in /opt/apigee/nginx/conf.d .

  1. Esegui il comando configtest di NGINX per determinare il motivo dell'errore:
    /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
    

I risultati di configtest indicano che il valore della proprietà proxy_busy_buffers_size deve essere uguale o maggiore di proxy_buffer_size, ma sembra essere impostato con un valore errato.

  1. Controllare i valori impostati per le proprietà proxy_buffer_size e proxy_occupato_buffers_size nel file 0-default.conf:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
    
  1. Aggiorna il valore di proxy_occupato_buffers_size a 512K nel File /opt/apigee/customer/application/router.properties:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
    
  1. Rimuovi la cartella /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
    
  1. Riavvia il router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    

Il problema è stato risolto e i file di configurazione non validi sono stati rimossi.

Esempio 2: il processo non riesce a eseguire l'upgrade di NGINX (solo Private Cloud 18.01)

Supponiamo che tu esegua configtest e riceva le seguenti risposte:

/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

Questo errore indica che il processo non è riuscito a eseguire l'upgrade di NGINX da 1.10.x a 1.12.x. Esiste un bug noto relativo all'upgrade di Edge Private Cloud alla versione 18.01.

Per diagnosticare correttamente questo problema (solo se utilizzi Private Cloud 18.01), segui questi passaggi:

rpm -aq | grep apigee-nginx

Questo comando dovrebbe restituire il rpm installato come versione 1.12.x. In caso contrario, segui questi passaggi:

  1. Arresta il componente router perimetrale.
  2. Esegui il backup del componente router perimetrale.
  3. Esegui questo comando per eseguire l'upgrade a apigee-nginx 1.2.x:
  4. sudo yum update apigee-nginx
  5. Elimina tutti i *.bad file in /opt/apigee/nginx/conf.d.
  6. Riavvia il componente router perimetrale.