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

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