โฮสต์เสมือนใน Edge จะกำหนดโดเมนและพอร์ต Edge Router ที่พร็อกซี API อยู่ เปิดเผย และตามส่วนขยาย URL ที่แอปใช้ในการเข้าถึงพร็อกซี API โฮสต์เสมือนด้วย กำหนดว่ามีการเข้าถึงพร็อกซี API โดยใช้โปรโตคอล HTTP หรือ HTTPS ที่เข้ารหัส
ในกระบวนการเริ่มต้นใช้งาน Edge คุณจะต้องสร้างองค์กร สภาพแวดล้อม และ
โฮสต์เสมือน Edge มีคำสั่ง setup-org
เพื่อทำให้
วิธีนี้จะทำให้ผู้ใช้ใหม่ง่ายขึ้น
เมื่อคุณสร้างโฮสต์เสมือน คุณต้องระบุข้อมูลต่อไปนี้
- ชื่อของโฮสต์เสมือนที่คุณใช้เพื่ออ้างอิงใน API ของคุณ พร็อกซี
- พอร์ตบนเราเตอร์สำหรับโฮสต์เสมือน โดยปกติแล้ว พอร์ตเหล่านี้ เริ่มต้นที่ 9001 และเพิ่มครั้งละ 1 สำหรับโฮสต์เสมือนใหม่ทุกๆ โฮสต์
- ชื่อแทนโฮสต์ของโฮสต์เสมือน โดยทั่วไปจะเป็นชื่อ DNS ของ โฮสต์เสมือน
เช่น ในไฟล์การกำหนดค่าที่ส่งไปยังคำสั่ง setup-org
คุณจะระบุ
ข้อมูลนี้ในรูปแบบ:
# Specify virtual host information VHOST_PORT=9001 VHOST_NAME=default # If you have a DNS entry for the virtual host VHOST_ALIAS=myapis.apigee.net
Edge Router จะเปรียบเทียบส่วนหัว Host
ของ
คำขอที่ส่งไปยังรายการชื่อแทนของโฮสต์ที่ใช้ได้ เป็นส่วนหนึ่งของการกำหนดพร็อกซี API ที่
จะจัดการคำขอ เมื่อส่งคำขอผ่านโฮสต์เสมือน ให้ระบุชื่อโดเมน
ที่ตรงกับชื่อแทนโฮสต์ของโฮสต์เสมือน หรือระบุที่อยู่ IP ของเราเตอร์และ
ส่วนหัว Host
ที่มีชื่อแทนโฮสต์
ตัวอย่างเช่น ถ้าคุณสร้างโฮสต์เสมือนที่มีชื่อแทนโฮสต์ myapis.apigee.net ในพอร์ต 9001 คำขอ cURL ไปยัง API ผ่านโฮสต์เสมือนนั้นสามารถใช้รายการใดรายการหนึ่งต่อไปนี้ แบบฟอร์ม:
- หากคุณมีรายการ DNS สำหรับ myapis.apigee.net ให้ทำดังนี้
curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
- หากคุณไม่มีรายการ DNS สำหรับ myapis.apigee.net ให้ทำดังนี้
curl http://routerIP:9001/proxy-base-path/resource-path -H 'Host: myapis.apigee.net'
ในแบบฟอร์มนี้ คุณจะระบุที่อยู่ IP ของเราเตอร์และส่งชื่อแทนโฮสต์ใน ส่วนหัว
Host
ตัวเลือกเมื่อคุณไม่มี DNS รายการสำหรับโฮสต์เสมือน
ทางเลือกหนึ่งในกรณีที่คุณไม่มีรายการ DNS คือตั้งค่าชื่อแทนโฮสต์เป็นที่อยู่ IP ของ เราเตอร์และพอร์ตของโฮสต์เสมือนเป็น routerIP:port ดังตัวอย่างต่อไปนี้
VHOST_ALIAS=192.168.1.31:9001
จากนั้นสร้างคำสั่ง curl ในแบบฟอร์มด้านล่าง
curl http://routerIP:9001/proxy-base-path/resource-path
แนะนำให้ใช้ตัวเลือกนี้เนื่องจากทำงานได้ดีกับ Edge UI
หากคุณมีเราเตอร์หลายตัว ให้เพิ่มชื่อแทนโฮสต์สำหรับเราเตอร์แต่ละตัว โดยระบุที่อยู่ IP ของ เราเตอร์และพอร์ตแต่ละพอร์ตของโฮสต์เสมือน
# Specify the IP and port of each router as a space-separated list enclosed in quotes: # VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"
หรือจะตั้งค่าชื่อแทนโฮสต์เป็นค่า เช่น temp.hostalias.com
ก็ได้
จากนั้นคุณต้องส่งส่วนหัว Host
ในทุกคำขอ
curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'host: temp.hostalias.com'
หรือเพิ่มชื่อแทนโฮสต์ลงในไฟล์ /etc/hosts
ตัวอย่างเช่น เพิ่มบรรทัดนี้
ถึง /etc/hosts
:
192.168.1.31 temp.hostalias.com
จากนั้นคุณจะส่งคำขอได้ราวกับมีรายการ DNS ดังนี้
curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path