Fichiers de configuration incorrects

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Problème constaté

Le routeur périphérique est implémenté à l'aide de NGINX. Au cours du processus de mise à niveau en périphérie ou de la modification de la configuration du routeur, des erreurs de configuration NGINX peuvent s'afficher. Lorsque ces erreurs se produisent, Edge marque tous les fichiers de configuration NGINX ayant causé le problème sur /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

Messages d'erreur

Aucun message d'erreur ne s'affichera. Toutefois, vous ne pourrez peut-être pas exécuter vos proxys d'API en raison des fichiers de configuration incorrects.

Causes possibles :

En général, les fichiers de configuration NGINX sont marqués comme incorrects, soit parce que des valeurs incorrectes sont définies sur une ou plusieurs propriétés NGINX dans le fichier /opt/apigee/customer/application/router.properties, soit parce que des modifications incorrectes sont apportées à un hôte virtuel.

Diagnostic

  1. Supprimez le suffixe .bad des noms de fichiers dans le répertoire /opt/nginx/conf.d afin qu'ils se terminent par .conf.
  1. Exécutez l'outil de configuration NGINX pour déterminer la raison de l'échec :
    /opt/nginx/scripts/apigee-nginx configtest
    

Résolution

  1. Si le test de configuration identifie la raison des fichiers de configuration incorrects, corrigez le problème en apportant les modifications appropriées à la propriété spécifique dans le fichier /opt/apigee/customer/application/router.properties ou l'hôte virtuel.
  1. Supprimez le répertoire /opt/nginx/conf.d :
    rm -rf /opt/nginx/conf.d
    
  1. Redémarrez le routeur :
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  1. Vous ne devriez plus voir de fichiers de configuration incorrects dans le répertoire /opt/nginx/conf.d .

Si le problème persiste, contactez l'assistance Apigee Edge.

Voici un exemple illustrant comment résoudre le problème en fonction des informations fournies par le test de configuration NGINX.

Exemple 1: Valeur incorrecte définie pour une propriété NGINX

  1. Imaginons que vous ayez modifié la propriété "proxy_busy_buffers_size" sur 128 Ko dans le fichier /opt/apigee/customer/application/router.properties, comme indiqué ci-dessous :
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 
    

Les fichiers de configuration étaient alors marqués comme incorrects dans le répertoire /opt/apigee/nginx/conf.d.

  1. Exécutez la commande NGINX configtest pour déterminer la raison de l'échec :
    /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
    

Les résultats du configtest indiquent que la valeur de la propriété proxy_busy_buffers_size doit être supérieure ou égale à celle de proxy_busy_buffers_size, mais semble définie sur une valeur incorrecte.

  1. Vérifiez les valeurs définies pour les propriétés proxy_buffer_size et proxy_inquiry_buffers_size dans le fichier 0-default.conf :
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
    
  1. Mettez à jour la valeur de "proxy_informer_buffers_size" sur 512 Ko dans le fichier /opt/apigee/customer/application/router.properties :
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
    
  1. Supprimez le dossier /opt/nginx/conf.d :
    rm -rf /opt/nginx/conf.d
    
  1. Redémarrez le routeur :
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    

Le problème a été résolu et les fichiers de configuration incorrects ont été supprimés.

Exemple 2: Le processus ne parvient pas à mettre à niveau NGINX (Private Cloud 18.01 uniquement)

Imaginons que vous exécutiez configtest et que vous obteniez les réponses suivantes :

/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

Cet échec indique que le processus n'a pas réussi à mettre à niveau NGINX de la version 1.10.x vers la version 1.12.x. Il existe un bug connu lié à la mise à niveau de Edge Private Cloud vers la version 18.01.

Pour diagnostiquer correctement ce problème (uniquement si vous utilisez le cloud privé 18.01), procédez comme suit:

rpm -aq | grep apigee-nginx

Cette commande doit renvoyer le RPM installé au format 1.12.x. Si ce n'est pas le cas, procédez comme suit:

  1. Arrêtez le composant de routeur de périphérie.
  2. Sauvegardez le composant de routeur de périphérie.
  3. Exécutez la commande suivante pour effectuer la mise à niveau vers apigee-nginx 1.2.x:
  4. sudo yum update apigee-nginx
  5. Supprimer tous les fichiers *.bad sous /opt/apigee/nginx/conf.d.
  6. Redémarrez le composant de routeur de périphérie.