File Konfigurasi Rusak

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

Gejala

Edge Router diimplementasikan dengan menggunakan NGINX. Selama proses upgrade Edge, atau saat mengubah konfigurasi Router, Anda mungkin melihat error konfigurasi NGINX. Saat error ini terjadi, Edge akan menandai semua file konfigurasi NGINX yang menyebabkan masalah ke /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 apa pun. Namun, Anda mungkin tidak dapat menjalankan proxy API 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 host virtual.

Diagnosis

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

Resolusi

  1. Jika pengujian konfigurasi mengidentifikasi alasan file konfigurasi yang buruk, perbaiki masalah dengan membuat perubahan yang sesuai pada properti tertentu dalam 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 dalam direktori /opt/nginx/conf.d .

Jika masalah berlanjut, hubungi Dukungan Apigee Edge.

Berikut ini contoh yang menunjukkan cara memperbaiki masalah berdasarkan informasi yang diberikan oleh uji konfigurasi NGINX.

Contoh 1: Nilai yang salah ditetapkan untuk properti NGINX

  1. Misalnya Anda memperbarui properti “proxy_busy_buffers_size” menjadi 128 ribu 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 direktori /opt/apigee/nginx/conf.d.

  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_busy_buffers_size, tetapi tampaknya ditetapkan dengan nilai yang salah.

  1. Periksa nilai yang ditetapkan untuk properti proxy_buffer_size dan proxy_sibuk_buffers_size dalam file 0-default.conf:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
    
  1. Update nilai proxy_sibuk_buffers_size menjadi 512 K dalam 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 yang diketahui terkait mengupgrade 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 mengembalikan rpm yang terinstal sebagai versi 1.12.x. Jika tidak, ikuti langkah-langkah berikut:

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