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

Edge for Private Cloud v4.18.05

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