โฮสต์เสมือนใน 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
เราขอแนะนำตัวเลือกนี้เนื่องจากทำงานได้ดีกับ UI ของ New Edge
หากคุณมีเราเตอร์หลายตัว ให้เพิ่มนามแฝงโฮสต์สำหรับเราเตอร์แต่ละตัว โดยระบุที่อยู่ 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