Плохие файлы конфигурации

Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee
X.info

Симптом

Маршрутизатор Edge реализован с использованием NGINX. В процессе обновления Edge или при изменении конфигурации маршрутизатора могут возникать ошибки конфигурации NGINX. При возникновении этих ошибок Edge помечает все файлы конфигурации NGINX, вызвавшие проблему, как /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

Сообщения об ошибках

Вы не увидите никаких сообщений об ошибках. Однако, возможно, вы не сможете запустить свои API-прокси из-за некорректных конфигурационных файлов.

Возможные причины

Как правило, конфигурационные файлы NGINX помечаются как некорректные либо из-за неправильно заданных значений свойств NGINX в файле /opt/apigee/customer/application/router.properties , либо из-за некорректных изменений, внесенных в виртуальный хост.

Диагноз

  1. Удалите расширение .bad из имен файлов в каталоге /opt/nginx/conf.d , чтобы они заканчивались на .conf.
  1. Запустите инструмент NGINX configtest, чтобы определить причину сбоя:
    /opt/nginx/scripts/apigee-nginx configtest

Разрешение

  1. Если проверка конфигурации выявит причину некорректных конфигурационных файлов, устраните проблему, внеся соответствующие изменения в конкретное свойство в файле /opt/apigee/customer/application/router.properties или в виртуальном хосте.
  1. Удалите каталог /opt/nginx/conf.d :
    rm -rf /opt/nginx/conf.d
  1. Перезагрузите маршрутизатор:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  1. В каталоге /opt/nginx/conf.d больше не должно быть некорректных конфигурационных файлов.

Если проблема не исчезнет, ​​обратитесь в службу поддержки Apigee Edge .

Вот пример, демонстрирующий, как исправить проблему на основе информации, полученной в результате проверки конфигурации NGINX.

Пример 1: Неправильно заданное значение для свойства NGINX

  1. Допустим, вы изменили значение параметра “ proxy_busy_buffers_size ” на 128K в файле /opt/apigee/customer/application/router.properties , как показано ниже:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 

Это привело к тому, что файлы конфигурации в каталоге /opt/apigee/nginx/conf.d были помечены как некорректные.

  1. Выполните команду NGINX configtest, чтобы определить причину сбоя:
    /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

Результаты теста конфигурации показывают, что значение свойства proxy_busy_buffers_size должно быть равно или больше, чем proxy_buffer_size , но, похоже, установлено неверное значение.

  1. Проверьте значения, установленные для свойств proxy_buffer_size и proxy_busy_buffers_size в файле 0-default.conf :
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
  1. Обновите значение параметра proxy_busy_buffers_size до 512K в файле /opt/apigee/customer/application/router.properties :
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
  1. Удалите папку /opt/nginx/conf.d :
    rm -rf /opt/nginx/conf.d
  1. Перезагрузите маршрутизатор:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Проблема была устранена, и некорректные конфигурационные файлы были удалены.

Пример 2: Процесс обновления NGINX (только для Private Cloud 18.01) завершается неудачей.

Допустим, вы запустили configtest и получили следующие ответы:

/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

Эта ошибка указывает на то, что процесс обновления NGINX с версии 1.10.x до 1.12.x завершился неудачей. Известна ошибка, связанная с обновлением Edge Private Cloud до версии 18.01.

Для правильной диагностики этой проблемы (только если вы используете Private Cloud 18.01) выполните следующие действия:

rpm -aq | grep apigee-nginx

Эта команда должна вернуть установленный RPM-пакет версии 1.12.x. Если этого не происходит, выполните следующие действия:

  1. Остановите компонент граничного маршрутизатора.
  2. Создайте резервную копию компонента пограничного маршрутизатора.
  3. Выполните эту команду для обновления до apigee-nginx версии 1.2.x:
  4. sudo yum update apigee-nginx
  5. Удалите все файлы с расширением *.bad из каталога /opt/apigee/nginx/conf.d.
  6. Перезапустите компонент edge-router.