File Konfigurasi Rusak

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

Gejala

Router Edge diimplementasikan 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 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 di direktori /opt/nginx/conf.d sehingga nama file diakhiri dengan .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 /opt/apigee/customer/application/router.properties file 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 melihat lagi file konfigurasi yang buruk di /opt/nginx/conf.d direktori.

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 yang Salah ditetapkan untuk properti NGINX

  1. Misalnya, Anda memperbarui properti “proxy_busy_buffers_size” ke 128K dalam file /opt/apigee/customer/application/router.properties, seperti yang ditunjukkan di bawah:
    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 direktori.

  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_busy_buffers_size dalam file 0-default.conf:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
  1. Perbarui nilai proxy_busy_buffers_size ke 512K 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 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 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 dengan 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 menampilkan rpm yang diinstal sebagai versi 1.12.x. Jika tidak, ikuti langkah-langkah berikut:

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