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, sebaiknya jalankan API secara langsung terhadap komponen Apigee seperti router atau pemroses pesan. Misalnya, Anda mungkin ingin melakukan ini untuk:

  • Men-debug masalah yang terputus-putus dengan permintaan API tertentu yang mengarah ke masalah dengan komponen Apigee (router/pemroses pesan).
  • Kumpulkan informasi diagnostik lainnya dengan mengaktifkan mode debug pada instance tertentu komponen Apigee.
  • Pastikan bahwa masalah 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 akan menjadi tempat menjalankan permintaan API.
  • 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 mesin 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 secara langsung pada router Apigee

Skenario 1: Permintaan API ke alias host yang mengarah 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 yang 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 di 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 ke alias host yang mengarah 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 yang 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 pass-through TCP 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 pada pemroses pesan Apigee

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

Port default tempat pemroses pesan memproses traffic dari router Apigee adalah 8998. Oleh karena itu, untuk semua kasus saat 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 di 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 dikonfigurasikan untuk "port tinggi" dan penghentian SSL terjadi di load balancer ATAU di 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 dikonfigurasikan 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 dapat dikonfigurasi antara router dan pemroses pesan. 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'