Nieprawidłowe pliki konfiguracyjne

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Krótki opis problemu

Router brzegowy jest wdrażany przy użyciu NGINX. Podczas uaktualniania Edge lub jeśli zmienisz konfigurację routera, mogą pojawić się błędy konfiguracji NGINX. Gdy te wartości występują błędy, Edge oznaczy wszystkie pliki konfiguracji NGINX, które spowodowały problem. /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

Komunikaty o błędach

Nie zobaczysz żadnych komunikatów o błędach. Jednak wykonanie interfejsu API może nie być możliwe z serwerów proxy z powodu nieprawidłowych plików konfiguracji.

Możliwe przyczyny

Zwykle pliki konfiguracyjne NGINX są oznaczane jako nieprawidłowe, ponieważ nieprawidłowe wartości są ustawione na Właściwość NGINX w pliku /opt/apigee/customer/application/router.properties lub wprowadzono nieprawidłowe zmiany w hoście wirtualnym.

Diagnostyka

  1. Usuń sufiks .bad z nazw plików w /opt/nginx/conf.d, tak aby kończyły się rozszerzeniem .conf.
  1. Uruchom narzędzie configtest dla NGINX, aby określić przyczynę błędu:
    /opt/nginx/scripts/apigee-nginx configtest
    

Rozdzielczość

  1. Jeśli test konfiguracji wykryje przyczynę nieprawidłowych plików konfiguracji, rozwiąż problem przez wprowadzenie odpowiednich zmian w konkretnej usłudze w /opt/apigee/customer/application/router.properties lub host wirtualny.
  1. Usuń katalog /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
    
  1. Ponownie uruchom router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  1. Błędne pliki konfiguracyjne nie powinny już być widoczne w /opt/nginx/conf.d .

Jeśli problem będzie nadal występował, skontaktuj się z zespołem pomocy Apigee Edge.

Oto przykład, który pokazuje, jak rozwiązać problem, na podstawie informacji podanych przez za pomocą testu konfiguracji NGINX.

Przykład 1. Nieprawidłowa wartość ustawiona dla właściwości NGINX

  1. Załóżmy, że zaktualizujesz właściwość „proxy_busy_buffers_size” do 128K w pliku /opt/apigee/customer/application/router.properties, jak widać na ilustracji poniżej:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 
    

Spowodowało to oznaczenie plików konfiguracyjnych jako nieprawidłowych w pliku /opt/apigee/nginx/conf.d katalogu.

  1. Uruchom polecenie configtest NGINX, aby określić przyczynę niepowodzenia:
    /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
    

Wyniki testu configtest wskazują, że wartość właściwości Parametr proxy_busy_buffers_size powinien być równy lub większy niż proxy_buffer_size, ale wygląda na to, że ma ustawioną nieprawidłową wartość.

  1. Sprawdź wartości ustawione dla właściwości proxy_buffer_size i proxy_busy_buffers_size w pliku 0-default.conf:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
    
  1. Zaktualizuj wartość proxy_busy_buffers_size na 512 KB w Plik /opt/apigee/customer/application/router.properties:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
    
  1. Usuń folder /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
    
  1. Ponownie uruchom router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    

Rozwiązaliśmy problem i usunięto nieprawidłowe pliki konfiguracyjne.

Przykład 2. Proces nie uaktualnia NGINX (tylko Private Cloud w wersji 18.01)

Załóżmy, że korzystasz z narzędzia configtest i otrzymujesz te odpowiedzi:

/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

Ten błąd oznacza, że procesowi nie udało się uaktualnić NGINX z 1.10.x do 1.12.x. Wystąpił znany błąd związany z uaktualnieniem Edge Private Cloud do wersji 18.01.

Aby prawidłowo zdiagnozować ten problem (tylko w Private Cloud w wersji 18.01), wykonaj te czynności:

rpm -aq | grep apigee-nginx

To polecenie powinno zwrócić zainstalowany RPM w wersji 1.12.x. Jeśli tak się nie stanie, wykonaj te czynności:

  1. Zatrzymaj komponent brzegowy routera brzegowego.
  2. Utwórz kopię zapasową komponentu brzegowego routera.
  3. Uruchom to polecenie, aby uaktualnić apigee-nginx do wersji 1.2.x:
  4. sudo yum update apigee-nginx
  5. Usuń wszystkie pliki (*.bad) w katalogu /opt/apigee/nginx/conf.d.
  6. Ponownie uruchom komponent brzegowy routera.