คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
ในการติดตั้งในองค์กร คุณสามารถควบคุมโฮสต์เสมือนได้อย่างสมบูรณ์ โดยสร้างโฮสต์เสมือนสำหรับองค์กรใดก็ได้ ในสภาพแวดล้อมใดก็ได้ ไม่ว่าจะใช้ TLS หรือไม่ก็ตาม
เอกสารนี้อธิบายวิธีสร้างโฮสต์เสมือนอย่างง่าย นั่นคือโฮสต์ที่ไม่รองรับ TLS ดูตัวอย่างเพิ่มเติม รวมถึงตัวอย่างการสร้างโฮสต์เสมือนที่รองรับ TLS, ดูที่ การกำหนดค่าการเข้าถึง TLS ไปยัง API สำหรับ Private Cloud
ดูข้อมูลเพิ่มเติม:
- เกี่ยวกับโฮสต์เสมือน
- การกำหนดค่าโฮสต์เสมือน
- การกำหนดค่า TLS
- Keystore และ Truststore
- การกำหนดค่า TLS การเข้าถึง API สำหรับ Private Cloud
เกี่ยวกับชื่อแทนโฮสต์
เมื่อสร้างโฮสต์เสมือน คุณต้องระบุชื่อแทนโฮสต์ของโฮสต์เสมือน ซึ่งโดยปกติจะเป็นชื่อ 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 ของเราเตอร์และส่งชื่อแทนโฮสต์ในส่วนหัว
Hostcurl 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
เราขอแนะนำตัวเลือกนี้เนื่องจากทำงานได้ดีกับ UI ของ Edge
หากคุณมีเราเตอร์หลายตัว ให้เพิ่มชื่อแทนโฮสต์สำหรับเราเตอร์แต่ละตัว โดยระบุที่อยู่ 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
เกี่ยวกับพอร์ตโฮสต์เสมือนใน Edge สำหรับ Private Cloud 4.16.01 ขึ้นไป
เมื่อสร้างโฮสต์เสมือน คุณจะระบุพอร์ตเราเตอร์ที่โฮสต์เสมือนใช้ เช่น พอร์ต 9001
สำหรับ Apigee for Private Cloud เวอร์ชัน 4.16.01 ขึ้นไป โดยค่าเริ่มต้น เราเตอร์จะทำงานในฐานะ ผู้ใช้ "apigee" ซึ่งไม่มีสิทธิ์เข้าถึงพอร์ตที่มีสิทธิ์ โดยปกติจะเป็นพอร์ต 1024 และต่ำกว่า หาก ต้องการสร้างโฮสต์เสมือนที่ผูกเราเตอร์กับพอร์ตที่ป้องกันไว้ คุณต้อง กำหนดค่าเราเตอร์ให้ทำงานในฐานะผู้ใช้ที่มีสิทธิ์เข้าถึงพอร์ตเหล่านั้น ดูข้อมูลเพิ่มเติมได้ที่การตั้งค่าโฮสต์เสมือน
สร้างโฮสต์เสมือน
ส่วนนี้จะอธิบายวิธีสร้างโฮสต์เสมือนสำหรับ Apigee Edge for Private Cloud โปรดทราบว่าคุณต้องเป็นผู้ดูแลระบบองค์กรจึงจะสร้าง โฮสต์เสมือนใหม่ได้
คุณสามารถสร้างโฮสต์เสมือนสำหรับ Apigee Edge for Private Cloud ได้โดยใช้ API หรือ UI ของ Edge ซึ่งอธิบายไว้ในส่วนต่อไปนี้
สร้างโฮสต์เสมือนโดยใช้เบราว์เซอร์
ส่วนนี้จะอธิบายวิธีสร้างโฮสต์เสมือนโดยใช้เบราว์เซอร์ (UI ของ Edge เท่านั้น)
วิธีสร้างโฮสต์เสมือนใหม่ใน UI ของ Edge
- เข้าสู่ระบบ UI การจัดการของ Edge
- เลือกผู้ดูแลระบบ > โฮสต์เสมือน
เลือกสภาพแวดล้อมจากรายการแบบเลื่อนลง
Edge จะแสดงรายการโฮสต์เสมือนสำหรับสภาพแวดล้อมนั้น
- หากต้องการสร้างโฮสต์เสมือนใหม่ ให้เลือก + โฮสต์เสมือน
Edge จะแสดงแบบฟอร์มสร้างโฮสต์เสมือน
นอกจากนี้ คุณยังคลิกชื่อโฮสต์เสมือนที่มีอยู่เพื่อแก้ไขได้ด้วย
- กำหนดโฮสต์เสมือนใหม่ โปรดทราบว่าช่องURL ฐาน ต้องมี
โปรโตคอล (เช่น ใส่คำนำหน้า "http://" หรือ "https://" ให้กับค่าของช่อง)
นอกจากนี้ โปรดทราบสิ่งต่อไปนี้
- คุณสร้างโฮสต์เสมือนได้ไม่จำกัดจำนวน
- TLS เป็นตัวเลือกและอาจเป็นเวอร์ชัน 1.0, 1.1 หรือ 1.2
- คุณกำหนดค่าพอร์ตของโฮสต์เสมือนได้
- คลิกปุ่มสร้าง เพื่อบันทึกโฮสต์เสมือนใหม่
สร้างโฮสต์เสมือนด้วย API
หากต้องการสร้างโฮสต์เสมือนด้วย API ให้สร้างออบเจ็กต์ XML ที่กำหนด โฮสต์เสมือน ตัวอย่างเช่น ออบเจ็กต์ XML ต่อไปนี้กำหนดโฮสต์เสมือนที่ใช้โปรโตคอล HTTP
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>DNS_name_or_IP:port</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost>โปรดสังเกตว่าโฮสต์เสมือนมีพร็อพเพอร์ตี้ name คุณใช้ค่าของ
name พร็อพเพอร์ตี้ เพื่อกำหนดค่าพร็อกซี API ให้ใช้โฮสต์เสมือน
จากนั้นคุณจะเข้าถึงพร็อกซี API ผ่านโฮสต์เสมือนนี้ได้โดยส่งคำขอไปยัง
http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-pathโดยที่
httpหรือhttps: หากกำหนดค่าโฮสต์เสมือนให้ รองรับ TLS ให้ใช้ HTTPS หากโฮสต์เสมือนไม่รองรับ TLS ให้ใช้ HTTP- routerIP:port คือที่อยู่ IP และหมายเลขพอร์ตของโฮสต์เสมือน
- proxy-base-path และ resource-path จะกำหนดขึ้นเมื่อคุณสร้าง พร็อกซี API
โดยปกติแล้ว คุณจะไม่เผยแพร่ API ให้ลูกค้าด้วยที่อยู่ IP และหมายเลขพอร์ต แต่คุณจะกำหนดรายการ DNS สำหรับเราเตอร์และพอร์ตแทน เช่น
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
หากกำหนดรายการ DNS คุณต้องสร้าง ชื่อแทนโฮสต์สำหรับโฮสต์เสมือน
ที่ตรงกับชื่อโดเมนของรายการ DNS ชื่อแทนโฮสต์ต้องตรงกับสตริงที่
ไคลเอ็นต์ส่งในส่วนหัว Host
จากตัวอย่างข้างต้น คุณจะระบุชื่อแทนโฮสต์เป็น api.myCompany.com
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost>หากต้องการสร้างโฮสต์เสมือนที่ใช้โปรโตคอล HTTP ให้ทำดังนี้
- สร้างโฮสต์เสมือนโดยใช้
API สร้าง
โฮสต์เสมือน โดยที่ ms-IP คือ
ที่อยู่ IP หรือชื่อโดเมนของโหนด Management Server:
$ curl -X POST -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>' \ -u sysAdminEmail:password
- สร้างระเบียน DNS สำหรับโฮสต์เสมือนที่ตรงกับชื่อแทนโฮสต์
- หากมีพร็อกซี API อยู่ ให้เพิ่มโฮสต์เสมือนลงในองค์ประกอบ
<HTTPConnection>ในพร็อกซีปลายทาง ระบบจะเพิ่มโฮสต์เสมือนลงในพร็อกซี API ใหม่ทั้งหมดโดยอัตโนมัติ ดู การกำหนดค่าพร็อกซี API ให้ใช้โฮสต์เสมือน
การแก้ไขโฮสต์เสมือน
หากต้องการแก้ไขโฮสต์เสมือน ให้ทำดังนี้
-
อัปเดตโฮสต์เสมือนโดยใช้ API อัปเดตโฮสต์เสมือน โดยที่
<ms-IP>คือที่อยู่ IP หรือชื่อโดเมนของโหนด Management Server คุณต้องระบุนิยามที่สมบูรณ์ของ โฮสต์เสมือนในเนื้อหาของคำขอ ไม่ใช่แค่องค์ประกอบที่ต้องการเปลี่ยนแปลง ในตัวอย่างนี้ คุณจะเปลี่ยนหมายเลขพอร์ตของโฮสต์เสมือนจาก 9008 เป็น 9009curl -X PUT -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9009</Port> </VirtualHost>' \ -u email:password -
สำหรับ Edge for Private Cloud เวอร์ชัน 4.16.01 และ 4.16.05 เท่านั้น หากคุณแก้ไขโ101}ฮสต์เสมือนที่มีอยู่ และเปิดใช้ TLS หรือปิดใช้ TLS โดยไม่เปลี่ยนหมายเลขพอร์ต101}ให้ทำดังนี้:101}101}
หยุดเราเตอร์
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
ลบไฟล์ทั้งหมดใน
/opt/nginx/conf.drm -f /opt/nginx/conf.d/*
เริ่มเราเตอร์
/opt/apigee/apigee-service/bin/apigee-service edge-router start
- ทำซ้ำสำหรับเราเตอร์ทั้งหมด