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

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

เกริ่นนำ

เมื่อแก้ปัญหา คุณอาจต้องเรียกใช้ 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 ของชื่อแทนโฮสต์ให้ชี้ไปที่ Elap 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'