Неправильные файлы конфигурации

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

Symptom

Маршрутизатор 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 помечаются как недействительные, если в файле /opt/apigee/customer/application/router.properties для свойств NGINX заданы неправильные значения или в виртуальный хост внесены неправильные изменения.

диагностика;

  1. Удалите суффикс .bad из названий файлов в каталоге /opt/nginx/conf.d, чтобы они заканчивались на .conf.
  1. Запустите инструмент configtest NGINX, чтобы определить причину ошибки:
    /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 на 128 КБ в файле /opt/apigee/customer/application/router.properties, как показано ниже:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 

Из-за этого файлы конфигурации были помечены как поврежденные в каталоге /opt/apigee/nginx/conf.d.

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

Результаты configtest показывают, что значение свойства 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 (только для частного облака версии 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 до версии 18.01.

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

rpm -aq | grep apigee-nginx

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

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