Respons HTTP 304 dalam sesi rekaman aktivitas

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

ini.

Gejala

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

Pesan error

Tidak ada pesan error - panggilan proxy API sebenarnya menampilkan error seperti HTTP 200. Namun, jendela rekaman aktivitas di UI Edge menampilkan respons HTTP 304 dan tidak ada data trace 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 memiliki kemampuan untuk mengirim permintaan API ke URL apa pun. Dalam skenario deployment di mana UI Edge dihosting bersama dengan pengguna yang berbahaya mungkin menyalahgunakan alat pelacakan untuk membuat permintaan ke layanan melalui alamat IP pribadi, seperti {i> localhost<i} atau 127.0.0.1.

Dalam lingkungan produksi, Anda biasanya membiarkan {i>default<i} tersebut untuk mencegah pengguna untuk dapat melacak alamat IP pribadi. Misalnya, itulah cara versi publik UI Edge di-deploy.

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

Catatan: Sebagai praktik terbaik, Anda harus membiarkan nilai default apa adanya untuk mencegah akses pelacakan ke alamat IP pribadi, bahkan dalam lingkungan pengembangan/pengujian, kecuali Anda berada dalam situasi di mana Anda harus mengaktifkannya.

Penyebab: Mencoba mengakses proxy API melalui alamat IP pribadi

Secara default, UI Edge untuk Edge untuk 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 situs-lokal (Untuk IPv4 - 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Semua alamat lokal (semua alamat yang menyelesaikan ke localhost)

Misalnya, perintah curl berikut melakukan panggilan ke proxy API dengan 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 guna melacak alamat IP pribadi bagi Edge untuk Private Cloud, tetapkan token berikut di ui.properties:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

Untuk menetapkan properti ini:

  1. Buka file ui.properties di editor. Jika file menampilkan tidak ada, buatlah.
    vi /opt/apigee/customer/application/ui.properties
  2. Tetapkan properti berikut ke true:
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. Simpan perubahan ke ui.properties.
  4. Pastikan file properti dimiliki oleh 'apigee' pengguna:
    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 pelacakan.

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

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