Edge for Private Cloud เวอร์ชัน 4.17.01
โฮสต์เสมือนใน Edge จะกำหนดโดเมนและพอร์ต Edge Router ที่แสดงพร็อกซี API และ URL ที่แอปใช้เพื่อเข้าถึงพร็อกซี API ตามส่วนขยาย นอกจากนี้ โฮสต์เสมือนยังกำหนดว่าจะเข้าถึงพร็อกซี API โดยใช้โปรโตคอล HTTP หรือโปรโตคอล HTTPS ที่เข้ารหัส
ในกระบวนการเริ่มต้นใช้งาน Edge คุณต้องสร้างองค์กร สภาพแวดล้อม และโฮสต์เสมือน Edge มีคำสั่ง setup-org เพื่อให้กระบวนการนี้ง่ายขึ้นสำหรับผู้ใช้ใหม่
เมื่อสร้างโฮสต์เสมือน คุณต้องระบุข้อมูลต่อไปนี้
- ชื่อของโฮสต์เสมือนที่คุณใช้อ้างอิงในพร็อกซี API
- พอร์ตในเราเตอร์สำหรับโฮสต์เสมือน โดยปกติแล้ว พอร์ตเหล่านี้จะเริ่มต้นที่ 9001 และเพิ่มขึ้นทีละ 1 สำหรับโฮสต์เสมือนใหม่แต่ละรายการ
- ชื่อแทนโฮสต์ของโฮสต์เสมือน โดยทั่วไปจะเป็นชื่อ DNS ของโฮสต์เสมือน
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 ของเราเตอร์ และส่งชื่อแทนโฮสต์ในส่วนหัวของโฮสต์
หมายเหตุ: คำสั่ง curl, เบราว์เซอร์ส่วนใหญ่ และยูทิลิตีอื่นๆ อีกมากมายจะเพิ่มส่วนหัวของโฮสต์ที่มีโดเมนเป็นส่วนหนึ่งของคำขอโดยอัตโนมัติ คุณจึงใช้คำสั่ง curl ในรูปแบบต่อไปนี้ได้
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
ตัวเลือกเมื่อคุณไม่มีรายการ DNS สำหรับโฮสต์เสมือน
ตัวเลือกหนึ่งเมื่อคุณไม่มีรายการ DNS คือการตั้งค่านามแฝงของโฮสต์เป็นที่อยู่ IP ของเราเตอร์และพอร์ตของโฮสต์เสมือนเป็น <routerIP>:port เช่น
192.168.1.31:9001
จากนั้นสร้างคำสั่ง curl ในแบบฟอร์มด้านล่าง
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} เราขอแนะนำตัวเลือกนี้เนื่องจากทำงานร่วมกับ Edge UI ได้ดี
หากคุณมีเราเตอร์หลายตัว ให้เพิ่มชื่อแทนโฮสต์สำหรับเราเตอร์แต่ละตัว โดยระบุที่อยู่ IP ของเราเตอร์แต่ละตัวและพอร์ตของโฮสต์เสมือน
หรือจะตั้งค่าชื่อแทนโฮสต์เป็นค่า เช่น 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}การใช้พอร์ตที่มีการป้องกันในโฮสต์เสมือน
หากต้องการสร้างโฮสต์เสมือนที่เชื่อมโยงเราเตอร์กับพอร์ตที่มีการป้องกัน เช่น หมายเลขพอร์ตที่น้อยกว่า 1024 คุณต้องกำหนดค่าเราเตอร์ให้ทำงานเป็นผู้ใช้ที่มีสิทธิ์เข้าถึงพอร์ตเหล่านั้น โดยค่าเริ่มต้น เราเตอร์จะทำงานในฐานะผู้ใช้ "apigee" ซึ่งไม่มีสิทธิ์เข้าถึงพอร์ตที่มีสิทธิ์
วิธีเรียกใช้เราเตอร์ในฐานะผู้ใช้รายอื่น
- ในฐานะรูท ให้สร้างไฟล์ /opt/apigee/etc/edge-router.d/RUN_USER.sh
- เพิ่มรายการต่อไปนี้ลงในไฟล์
RUN_USER=root
หากไม่ต้องการเรียกใช้เราเตอร์ในฐานะรูท ให้ระบุผู้ใช้ที่มีสิทธิ์เข้าถึงพอร์ต - บันทึกไฟล์
- หากคุณระบุผู้ใช้ที่ไม่ใช่รูท ให้เปลี่ยนเจ้าของไฟล์เป็นผู้ใช้รายนั้น
> chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh - รีสตาร์ทเราเตอร์:
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart