Cara membuat permintaan API langsung ke router atau pemroses pesan

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

Pengantar

Saat memecahkan masalah, Anda mungkin ingin menjalankan API secara langsung terhadap komponen Apigee seperti router atau pemroses pesan. Misalnya, Anda mungkin ingin melakukan hal ini untuk:

  • Men-debug masalah yang berselang-seling dengan permintaan API tertentu yang mengarah ke masalah pada komponen Apigee tertentu (router/pemroses pesan).
  • Kumpulkan informasi diagnostik lainnya dengan mengaktifkan mode debug pada instance tertentu dari komponen Apigee.
  • Pastikan juga bahwa masalahnya disebabkan oleh komponen Apigee tertentu.
  • Cari tahu apakah operasi seperti membuat instance baru atau memulai ulang instance memiliki dampak yang diinginkan.

Prasyarat

  • Akses langsung ke router atau komponen pemroses pesan yang menjadi target permintaan API untuk dijalankan.
  • Alat cURL harus diinstal pada instance komponen tertentu.
  • Permintaan API yang ingin Anda uji dalam format cURL.

    Misalnya, berikut adalah perintah curl yang dapat Anda gunakan untuk membuat permintaan ke proxy API dari komputer lokal Anda:

    curl https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
    curl https://myorg-test.mycompany.com/v1/customers
    

Cara menjalankan permintaan API langsung ke router Apigee

Skenario 1: Permintaan API untuk menghosting alias yang menunjuk ke router

Jika entri DNS dari alias host dikonfigurasi untuk mengarah ke router Apigee Edge (dengan kata lain, tidak ada Elastic Load Balancer (ELB)), maka Anda dapat menggunakan perintah curl berikut untuk membuat permintaan API langsung ke router:

  • Host virtual yang dikonfigurasi untuk komunikasi tidak aman melalui port 80

    curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Contoh:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Host virtual dikonfigurasi untuk menghentikan SSL pada port 443 pada router

    curl -v --resolve HOST_ALIAS:443:127.0.0.1 https://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Contoh:

    curl -v --resolve myorg-test.mycompany.com:443:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    

Skenario 2: Permintaan API untuk menghosting alias yang menunjuk ke ELB

Jika entri DNS dari alias host dikonfigurasi agar mengarah ke Elastic Load Balancer (ELB), Anda dapat menggunakan perintah curl berikut untuk membuat permintaan API langsung ke router:

  • Host virtual yang dikonfigurasi untuk komunikasi tidak aman melalui port 80

    curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Contoh:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Host virtual yang dikonfigurasi untuk port tinggi dan SSL dihentikan pada load balancer di depan router Apigee

    curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 http:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Contoh:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Host virtual yang dikonfigurasi untuk port tinggi dan SSL dihentikan di router Apigee

    Dengan kata lain, load balancer dikonfigurasi untuk menggunakan TCP pass-through ke router Apigee.

    curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 https:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Contoh:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    

Cara menjalankan permintaan secara langsung di pemroses pesan Apigee

Skenario 1: Permintaan API ke pemroses pesan melalui port default 8998

Port default tempat prosesor pesan memproses traffic dari router Apigee adalah 8998. Oleh karena itu, untuk semua kasus ketika port ini tidak diubah, traffic harus dikirim langsung ke port ini pada instance pemroses pesan tertentu, seperti dalam contoh berikut. Permintaan curl harus dikirim ke URL http://INTERNAL_IP_OF_MP:8998 bersama dengan header X-Apigee.Host dengan nama host nilai termasuk port yang digunakan dalam host virtual seperti yang ditunjukkan dalam tiga contoh berikut:

  • Host virtual dikonfigurasi untuk penghentian SSL pada router

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
    

    Contoh:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
    
  • Host virtual dikonfigurasi untuk "port tinggi" dan penghentian SSL terjadi pada load balancer ATAU pada router Apigee:

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
    

    Contoh:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
    
  • Host virtual dikonfigurasi ke port http default 80

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:80'
    

    Contoh:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    

Skenario 2: Permintaan API ke pemroses pesan melalui port SSL 8443

Komunikasi SSL antara router dan pemroses pesan dapat dikonfigurasi. Contoh berikut menggunakan port 8443, port yang disarankan oleh dokumentasi Apigee.

  • Host virtual dikonfigurasi untuk penghentian SSL pada router

    curl -v -k https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
    

    Contoh:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    
  • Host virtual dikonfigurasi untuk penghentian SSL pada load balancer, dan traffic diteruskan ke port tinggi ke router

    curl -v https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
    

    Contoh:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'