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 ให้ทำดังนี้
ขด http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path} - หากไม่มีรายการ DNS สำหรับ myapis.apigee.net ให้ทำดังนี้
ขด http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H "โฮสต์: 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 จากนั้น คุณต้องส่งส่วนหัวของโฮสต์ในทุกๆ คำขอ:
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 อีกด้วย