Fichiers de configuration incorrects

Vous consultez la documentation Apigee Edge.
Accédez à la documentation**Apigee X**.
info

Problème constaté

Le routeur Edge est implémenté à l'aide de NGINX. Lors du processus de mise à niveau d'Edge ou lorsque vous modifiez 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 qui ont causé le problème dans /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'affiche. Toutefois, il est possible que vous ne puissiez pas exécuter vos proxys d'API en raison de fichiers de configuration incorrects.

Causes possibles :

En règle générale, les fichiers de configuration NGINX sont marqués comme incorrects, car des valeurs incorrectes sont définies pour les propriétés NGINX dans le fichier /opt/apigee/customer/application/router.properties ou des modifications incorrectes sont apportées à un hôte virtuel.

Diagnostic

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

Solution

  1. Si le test de configuration identifie la raison pour laquelle les fichiers de configuration sont incorrects, résolvez le problème en apportant les modifications appropriées à la propriété spécifique dans le /opt/apigee/customer/application/router.properties fichier 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. Les fichiers de configuration incorrects ne devraient plus s'afficher dans le /opt/nginx/conf.d répertoire.

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

Voici un exemple qui montre 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. Supposons que vous ayez mis à jour la propriété "proxy_busy_buffers_size" sur 128K 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 ont alors été marqués comme incorrects dans le répertoire /opt/apigee/nginx/conf.d.

  1. Exécutez la commande configtest NGINX 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 de configtest indiquent que la valeur de la propriété proxy_busy_buffers_size doit être supérieure ou égale à proxy_buffer_size, mais semble être définie avec une valeur incorrecte.

  1. Vérifiez les valeurs définies pour les propriétés proxy_buffer_size et proxy_busy_buffers_size dans le fichier 0-default.conf :
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
  1. Remplacez la valeur de proxy_busy_buffers_size par 512K dans le /opt/apigee/customer/application/router.properties fichier :
    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)

Supposons 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 à la version 1.12.x. Un bug connu est lié à la mise à niveau d'Edge Private Cloud vers la version 18.01.

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

rpm -aq | grep apigee-nginx

Cette commande doit renvoyer le rpm installé en tant que version 1.12.x. Si ce n'est pas le cas, procédez comme suit :

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