Respons HTTP 304 dalam sesi rekaman aktivitas

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

Gejala

Di Edge untuk Private Cloud, saat melacak API di UI Edge, Anda akan melihat respons HTTP 304 di kolom Status jendela rekaman aktivitas:

Pesan error

Tidak ada pesan error - panggilan proxy API sebenarnya menampilkan respons berhasil, seperti HTTP 200. Namun, jendela rekaman aktivitas di UI Edge menampilkan respons HTTP 304 dan tidak ada data rekaman aktivitas yang dikumpulkan.

Kemungkinan penyebab

Di Edge untuk Private Cloud, UI Edge mencoba melacak proxy API yang diakses oleh alamat IP pribadi.

Alat pelacakan di UI Edge dapat mengirim permintaan API ke URL mana pun. Dalam skenario deployment saat UI Edge di-hosting bersama dengan layanan internal lainnya, pengguna berbahaya dapat menyalahgunakan alat pelacakan untuk membuat permintaan ke layanan melalui alamat IP pribadi, seperti localhost atau 127.0.0.1.

Dalam lingkungan produksi, Anda biasanya membiarkan setelan default apa adanya untuk mencegah pengguna dapat melacak alamat IP pribadi. Misalnya, demikian cara men-deploy Edge UI versi publik.

Namun, untuk lingkungan pengembangan atau pengujian internal, Anda dapat mengganti setelan default ini untuk mengizinkan developer API Anda melacak alamat IP apa pun. Biasanya, lingkungan pengembangan/pengujian berada di balik firewall yang tidak mengizinkan akses publik.

Catatan: Sebagai praktik terbaik, Anda harus membiarkan setelan default apa adanya untuk mencegah akses pelacakan ke alamat IP pribadi, bahkan di lingkungan pengembangan/pengujian, kecuali jika Anda menghadapi situasi yang mengharuskan Anda mengaktifkannya.

Penyebab: Mencoba mengakses proxy API melalui alamat IP pribadi

Secara default, UI Edge untuk Edge for Private Cloud mencegah pengguna melacak panggilan API yang dilakukan melalui alamat IP pribadi. Daftar alamat IP pribadi mencakup:

  • Alamat loopback (127.0.0.1 atau localhost)
  • Alamat lokal situs (Untuk IPv4 - 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Alamat lokal mana pun (alamat mana pun yang diselesaikan ke localhost)

Misalnya, perintah curl berikut melakukan panggilan ke proxy API menggunakan alamat IP 127.0.0.1, yang dianggap sebagai alamat IP pribadi:

curl http://127.0.0.1:9001/myapiproxy

Di jendela rekaman aktivitas untuk panggilan ini, Anda akan melihat respons HTTP 304 meskipun perintah curl menampilkan keberhasilan.

Resolusi

Untuk mengaktifkan UI Edge agar dapat melacak alamat IP pribadi untuk Edge for Private Cloud, tetapkan token berikut di ui.properties:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

Untuk menyetel properti ini:

  1. Buka file ui.properties di editor. Jika file tidak ada, buat file tersebut.
    vi /opt/apigee/customer/application/ui.properties
  2. Setel properti berikut ke benar (true):
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. Simpan perubahan Anda ke ui.properties.
  4. Pastikan file properti dimiliki oleh pengguna 'apigee':
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. Mulai ulang UI Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

UI Edge kini dapat mengakses alamat IP pribadi di alat rekaman aktivitas.

Untuk menonaktifkan UI agar tidak melacak permintaan melalui alamat IP pribadi di lain waktu, edit ui.properties untuk menetapkan properti ke false, lalu mulai ulang UI Edge.

Untuk mengetahui informasi selengkapnya, lihat Mengizinkan Akses UI Edge ke Alamat IP Lokal.