การตั้งค่าโฮสต์เสมือน

โฮสต์เสมือนใน 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