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

Edge for Private Cloud v. 4.17.09

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

    หมายเหตุ: คำสั่ง cURL, เบราว์เซอร์ส่วนใหญ่ และยูทิลิตีอื่นๆ อีกมากมายจะเพิ่มส่วนหัว Host ต่อท้ายด้วยโดเมนโดยอัตโนมัติเป็นส่วนหนึ่งของคำขอ คุณจึงใช้คำสั่ง 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 ก็ได้ จากนั้นคุณต้องส่งส่วนหัว 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}