วิธีส่งคําขอ 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 (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'