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

Edge สำหรับ Private Cloud เวอร์ชัน 4.18.01

โฮสต์เสมือนบน 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 จะเปรียบเทียบส่วนหัวโฮสต์ของคำขอขาเข้ากับรายการชื่อแทนโฮสต์ที่ใช้ได้ ซึ่งเป็นส่วนหนึ่งของการกำหนดพร็อกซี API ที่จัดการคำขอ เมื่อส่งคำขอผ่านโฮสต์เสมือน ให้ระบุชื่อโดเมนที่ตรงกับชื่อแทนโฮสต์ของโฮสต์เสมือน หรือระบุที่อยู่ IP ของเราเตอร์และส่วนหัวโฮสต์ที่มีชื่อแทนโฮสต์

เช่น หากคุณสร้างโฮสต์เสมือนที่มีชื่อแทนโฮสต์ 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://myapis.apigee.net/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'

    ในแบบฟอร์มนี้ คุณจะระบุที่อยู่ IP ของเราเตอร์ และส่งชื่อแทนโฮสต์

    หมายเหตุ: คำสั่ง cURL, เบราว์เซอร์ส่วนใหญ่ และยูทิลิตีอื่นๆ อีกมากมายจะต่อท้ายส่วนหัวของ โฮสต์ ด้วยโดเมนเป็นส่วนหนึ่งของคำขอโดยอัตโนมัติ เพื่อให้คุณใช้คำสั่ง cURL ในแบบฟอร์มได้จริงๆ

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

ตัวเลือกเมื่อคุณไม่มีรายการ 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 จากนั้นคุณต้องส่งส่วนหัวโฮสต์ในทุกคำขอ โดยทำดังนี้

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}