วิธีส่งคําขอ API โดยตรงไปยังเราเตอร์หรือผู้ประมวลผลข้อมูลข้อความ

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

บทนำ

เมื่อแก้ปัญหา คุณอาจต้องการเรียกใช้ API กับคอมโพเนนต์ Apigee โดยตรง เช่น เราเตอร์หรือตัวประมวลผลข้อความ เช่น คุณอาจต้องการทำสิ่งนี้เพื่อดำเนินการต่อไปนี้

  • แก้ไขข้อบกพร่องของปัญหาที่เกิดขึ้นเป็นระยะๆ กับคำขอ API บางรายการซึ่งชี้ให้เห็นปัญหาเกี่ยวกับคอมโพเนนต์ Apigee (เราเตอร์/ตัวประมวลผลข้อความ) ที่เฉพาะเจาะจง
  • รวบรวมข้อมูลการวินิจฉัยเพิ่มเติมโดยการเปิดใช้โหมดแก้ไขข้อบกพร่องในอินสแตนซ์ที่เฉพาะเจาะจงของคอมโพเนนต์ Apigee
  • ตัดความเป็นไปได้ที่ปัญหาเกิดจากคอมโพเนนต์ Apigee ที่เฉพาะเจาะจง
  • ดูว่าการดำเนินการต่างๆ เช่น การเปิดอินสแตนซ์ใหม่หรือการรีสตาร์ทอินสแตนซ์ส่งผลตามที่ต้องการหรือไม่

ข้อกำหนดเบื้องต้น

  • การเข้าถึงโดยตรงไปยังคอมโพเนนต์เราเตอร์หรือตัวประมวลผลข้อความที่ต้องเรียกใช้คำขอ API
  • ต้องติดตั้งเครื่องมือ cURL ในอินสแตนซ์ของคอมโพเนนต์นั้นๆ
  • คำขอ API ที่คุณต้องการทดสอบในรูปแบบ cURL

    ตัวอย่างเช่น ต่อไปนี้คือcurlคำสั่งที่คุณใช้เพื่อส่งคำขอไปยังพร็อกซี API จากเครื่องในพื้นที่ได้

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

วิธีเรียกใช้คำขอ API กับเราเตอร์ Apigee โดยตรง

สถานการณ์ที่ 1: คำขอ API เพื่อโฮสต์นามแฝงที่ชี้ไปยังเราเตอร์

หากกำหนดค่ารายการ DNS ของนามแฝงโฮสต์ให้ชี้ไปยังเราเตอร์ Apigee Edge (กล่าวคือไม่มี Elastic Load Balancer (ELB)) คุณจะใช้คำสั่ง curl ต่อไปนี้เพื่อส่งคำขอ API ไปยังเราเตอร์โดยตรงได้

  • กำหนดค่าโฮสต์เสมือนสำหรับการสื่อสารที่ไม่ปลอดภัยผ่านพอร์ต 80

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

    เช่น

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • กำหนดค่าโฮสต์เสมือนให้สิ้นสุด SSL ในพอร์ต 443 บนเราเตอร์

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

    เช่น

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

สถานการณ์ที่ 2: คำขอ API ไปยังนามแฝงของโฮสต์ที่ชี้ไปยัง ELB

หากกำหนดค่ารายการ DNS ของนามแฝงโฮสต์ให้ชี้ไปยัง Elastic Load Balancer (ELB) คุณจะใช้คำสั่ง curl ต่อไปนี้เพื่อส่งคำขอ API ไปยังเราเตอร์ได้โดยตรง

  • กำหนดค่าโฮสต์เสมือนสำหรับการสื่อสารที่ไม่ปลอดภัยผ่านพอร์ต 80

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

    เช่น

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • โฮสต์เสมือนที่กำหนดค่าสำหรับพอร์ตสูงและ SSL จะสิ้นสุดในตัวจัดสรรภาระงานที่อยู่หน้าเราเตอร์ Apigee

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

    เช่น

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • โฮสต์เสมือนที่กำหนดค่าสำหรับพอร์ตสูงและ SSL จะสิ้นสุดในเราเตอร์ Apigee

    กล่าวคือ มีการกำหนดค่าตัวจัดสรรภาระงานให้ใช้การส่งผ่าน TCP ไปยังเราเตอร์ Apigee

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

    เช่น

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

วิธีเรียกใช้คำขอกับตัวประมวลผลข้อความ Apigee โดยตรง

สถานการณ์ที่ 1: คำขอ API ไปยังตัวประมวลผลข้อความผ่านพอร์ตเริ่มต้น 8998

พอร์ตเริ่มต้นที่ตัวประมวลผลข้อความใช้เพื่อรับฟังการรับส่งข้อมูลจากเราเตอร์ Apigee คือ 8998 ดังนั้น ในทุกกรณีที่ไม่ได้เปลี่ยนพอร์ตนี้ คุณจะต้องส่งการเข้าชมไปยังพอร์ตนี้โดยตรงในอินสแตนซ์ของตัวประมวลผลข้อความที่เฉพาะเจาะจง ดังตัวอย่างต่อไปนี้ ต้องส่งคำขอ curl ไปยัง URL http://INTERNAL_IP_OF_MP:8998 พร้อมกับส่วนหัว X-Apigee.Host ที่มีค่าชื่อโฮสต์รวมถึงพอร์ตที่ใช้ในโฮสต์เสมือนตามที่แสดงในตัวอย่าง 3 รายการต่อไปนี้

  • กำหนดค่าโฮสต์เสมือนสำหรับการสิ้นสุด SSL ในเราเตอร์

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

    เช่น

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
    
  • กำหนดค่าโฮสต์เสมือนสำหรับ "พอร์ตสูง" และการสิ้นสุด SSL จะเกิดขึ้นในตัวจัดสรรภาระงานหรือในเราเตอร์ Apigee

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

    เช่น

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
    
  • กำหนดค่าโฮสต์เสมือนเป็นพอร์ต http เริ่มต้น 80

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

    เช่น

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

สถานการณ์ที่ 2: คำขอ API ไปยังตัวประมวลผลข้อความผ่านพอร์ต SSL 8443

คุณกำหนดค่าการสื่อสาร SSL ระหว่างเราเตอร์และเครื่องประมวลผลข้อความได้ ตัวอย่างต่อไปนี้ใช้พอร์ต 8443 ซึ่งเป็นพอร์ตที่เอกสารประกอบของ Apigee แนะนำ

  • กำหนดค่าโฮสต์เสมือนสำหรับการสิ้นสุด SSL ในเราเตอร์

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

    เช่น

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    
  • กำหนดค่าโฮสต์เสมือนสำหรับการสิ้นสุด SSL ในตัวจัดสรรภาระงาน และส่งต่อการเข้าชมไปยังพอร์ตสูงไปยังเราเตอร์

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

    เช่น

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