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

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