File Konfigurasi Rusak

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

ini.

Gejala

Edge Router diimplementasikan dengan menggunakan NGINX. Selama proses upgrade Edge, atau saat mengubah konfigurasi Router, Anda mungkin melihat error konfigurasi NGINX. Ketika terjadi, Edge menandai semua file konfigurasi NGINX yang menyebabkan masalah /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

Pesan Error

Anda tidak akan melihat pesan error. Namun, Anda mungkin tidak dapat menjalankan API {i>proxy<i} karena file konfigurasi yang buruk.

Kemungkinan Penyebab

Biasanya file konfigurasi NGINX ditandai sebagai buruk karena nilai yang salah ditetapkan ke Properti NGINX dalam file /opt/apigee/customer/application/router.properties atau perubahan yang salah dilakukan pada {i>host<i} virtual.

Diagnosis

  1. Hapus akhiran .bad dari nama file pada /opt/nginx/conf.d sehingga berakhiran .conf.
  1. Jalankan alat uji konfigurasi NGINX untuk menentukan alasan kegagalan:
    /opt/nginx/scripts/apigee-nginx configtest
    

Resolusi

  1. Jika uji konfigurasi mengidentifikasi alasan file konfigurasi yang buruk, perbaiki masalah dengan membuat perubahan yang sesuai pada properti tertentu di File /opt/apigee/customer/application/router.properties atau host virtual.
  1. Hapus direktori /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
    
  1. Mulai ulang Router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  1. Anda tidak akan lagi melihat file konfigurasi yang buruk di /opt/nginx/conf.d Anda.

Jika masalah berlanjut, hubungi Dukungan Apigee Edge.

Berikut adalah contoh yang menunjukkan cara memperbaiki masalah berdasarkan informasi yang diberikan oleh pengujian konfigurasi NGINX.

Contoh 1: Nilai Salah yang ditetapkan untuk properti NGINX

  1. Misalkan Anda memperbarui properti “proxy_busy_buffers_size” ke 128K dalam file /opt/apigee/customer/application/router.properties, seperti yang ditunjukkan di bawah ini:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 
    

Hal ini menyebabkan file konfigurasi ditandai sebagai buruk di /opt/apigee/nginx/conf.d saat ini.

  1. Jalankan perintah configtest NGINX untuk menentukan alasan kegagalan:
    /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
    

Hasil configtest menunjukkan bahwa nilai untuk properti proxy_busy_buffers_size harus sama dengan atau lebih besar dari proxy_buffer_size, tetapi tampaknya ditetapkan dengan nilai yang salah.

  1. Periksa nilai yang ditetapkan untuk properti proxy_buffer_size dan proxy_ldap_buffers_size dalam file 0-default.conf:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
    
  1. Perbarui nilai proxy_sibuk_buffers_size menjadi 512 K di bagian File /opt/apigee/customer/application/router.properties:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
    
  1. Hapus folder /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
    
  1. Mulai ulang router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    

Masalah ini telah diperbaiki dan file konfigurasi yang buruk telah dihapus.

Contoh 2: Proses gagal mengupgrade NGINX (khusus Private Cloud 18.01)

Misalnya Anda menjalankan configtest dan mendapatkan kembali respons berikut:

/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

Kegagalan ini menunjukkan bahwa proses gagal mengupgrade NGINX dari 1.10.x ke 1.12.x. Ada bug umum terkait upgrade Edge Private Cloud ke versi 18.01.

Untuk mendiagnosis masalah ini dengan benar (hanya jika Anda menggunakan Private Cloud 18.01), lakukan hal berikut:

rpm -aq | grep apigee-nginx

Perintah ini akan menghasilkan rpm yang terinstal sebagai versi 1.12.x. Jika tidak, ikuti langkah-langkah berikut:

  1. Hentikan komponen edge-router.
  2. Cadangkan komponen edge-router.
  3. Jalankan perintah ini untuk mengupgrade ke apigee-nginx 1.2.x:
  4. sudo yum update apigee-nginx
  5. Hapus semua (*.bad) file di bawah /opt/apigee/nginx/conf.d.
  6. Mulai ulang komponen edge-router.