Вы просматриваете документацию по 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 заданы неправильные значения или в виртуальный хост внесены неправильные изменения.
диагностика;
- Удалите суффикс .bad из названий файлов в каталоге
/opt/nginx/conf.d, чтобы они заканчивались на .conf.
- Запустите инструмент configtest NGINX, чтобы определить причину ошибки:
/opt/nginx/scripts/apigee-nginx configtest
Разрешение
- Если в результате проверки конфигурации будет выявлена причина проблем с файлами конфигурации, устраните ее, внеся необходимые изменения в определенное свойство в файле
/opt/apigee/customer/application/router.propertiesили виртуальном хосте.
- Удалите каталог
/opt/nginx/conf.d:rm -rf /opt/nginx/conf.d
- Перезапустите маршрутизатор.
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- В каталоге
/opt/nginx/conf.dбольше не должно быть поврежденных файлов конфигурации.
Если проблема не исчезнет, обратитесь в службу поддержки Apigee Edge.
Ниже приведен пример того, как устранить проблему на основе информации, предоставленной тестом конфигурации NGINX.
Пример 1. Неправильное значение, заданное для свойства NGINX
- Предположим, вы изменили значение свойства 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.
- Чтобы определить причину ошибки, выполните команду 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, но, похоже, задано неправильно.
- Проверьте значения, заданные для свойств proxy_buffer_size и proxy_busy_buffers_size в файле
0-default.conf:proxy_buffer_size 512k; proxy_busy_buffers_size 128k;
- Измените значение proxy_busy_buffers_size на 512K в файле
/opt/apigee/customer/application/router.properties:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
- Удалите папку
/opt/nginx/conf.d:rm -rf /opt/nginx/conf.d
- Перезапустите маршрутизатор:
/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. Если нет, выполните следующие действия:
- Остановите компонент edge-router.
- Создайте резервную копию компонента edge-router.
- Чтобы перейти на apigee-nginx 1.2.x, выполните следующую команду:
- Удалить все файлы
*.badв папке/opt/apigee/nginx/conf.d. - Перезапустите компонент пограничного маршрутизатора.
sudo yum update apigee-nginx