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

Edge สำหรับ Private Cloud เวอร์ชัน 4.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

แนะนำให้ใช้ตัวเลือกนี้เนื่องจากใช้งานได้ดีกับ 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