คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
ในการติดตั้งภายในองค์กร คุณจะควบคุมโฮสต์เสมือนได้อย่างเต็มรูปแบบ คุณสามารถสร้าง โฮสต์เสมือนสำหรับองค์กร ในทุกสภาพแวดล้อม โดยใช้ TLS หรือไม่
เอกสารนี้อธิบายวิธีสร้างโฮสต์เสมือนแบบง่าย กล่าวคือ องค์ประกอบที่ไม่ รองรับ TLS สำหรับตัวอย่างเพิ่มเติม รวมถึงตัวอย่างการสร้างโฮสต์เสมือนที่รองรับ TLS ดูการกำหนดค่า TLS สิทธิ์เข้าถึง API สำหรับ Private Cloud
ดูข้อมูลเพิ่มเติม
- เกี่ยวกับโฮสต์เสมือน
- การกำหนดค่าโฮสต์เสมือน
- การกำหนดค่า TLS
- คีย์สโตร์และ Truststores
- การกำหนดค่า TLS สิทธิ์เข้าถึง API สำหรับ Private Cloud
เกี่ยวกับชื่อแทนของโฮสต์
เมื่อสร้างโฮสต์เสมือน คุณต้องระบุชื่อแทนของโฮสต์ของโฮสต์เสมือน โดยทั่วไปจะเป็นชื่อ DNS ของโฮสต์เสมือน
เราเตอร์ Edge จะเปรียบเทียบส่วนหัว 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 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
เกี่ยวกับพอร์ตโฮสต์เสมือนใน Edge สำหรับ Private Cloud 4.16.01 ขึ้นไป
เมื่อสร้างโฮสต์เสมือน คุณจะต้องระบุพอร์ตเราเตอร์ที่โฮสต์เสมือนใช้ สำหรับ เช่น พอร์ต 9001
สำหรับ Apigee for Private Cloud รุ่น 4.16.01 ขึ้นไป เราเตอร์จะทำงานเป็น ผู้ใช้ "apigee" ซึ่งไม่มีสิทธิ์เข้าถึงพอร์ตที่มีสิทธิ์ โดยทั่วไปแล้วคือพอร์ต 1024 หรือต่ำกว่า ถ้า คุณต้องการสร้างโฮสต์เสมือนที่จะเชื่อมโยงเราเตอร์กับพอร์ตที่มีการป้องกัน กำหนดค่าเราเตอร์ให้ทำงานในฐานะผู้ใช้ที่มีสิทธิ์เข้าถึงพอร์ตเหล่านั้น โปรดดูการตั้งค่าโฮสต์เสมือนสำหรับข้อมูลเพิ่มเติม
สร้างโฮสต์เสมือน
หัวข้อนี้จะอธิบายวิธีสร้างโฮสต์เสมือนสำหรับ Apigee Edge สำหรับ Private Cloud โปรดทราบว่าในการสร้าง โฮสต์เสมือน คุณต้องเป็นผู้ดูแลระบบองค์กร
คุณสร้างโฮสต์เสมือนสำหรับ Apigee Edge สำหรับ Private Cloud ได้โดยใช้ API หรือ Edge UI สิ่งเหล่านี้คือ ดังที่อธิบายไว้ในส่วนต่อไปนี้
สร้างโฮสต์เสมือนโดยใช้เบราว์เซอร์
หัวข้อนี้จะอธิบายวิธีสร้างโฮสต์เสมือนโดยใช้เบราว์เซอร์ (เฉพาะ Edge UI เท่านั้น)
วิธีสร้างโฮสต์เสมือนใหม่ใน Edge UI
- เข้าสู่ระบบ UI การจัดการ Edge
- เลือกผู้ดูแลระบบ > โฮสต์เสมือน
เลือกสภาพแวดล้อมจากรายการแบบเลื่อนลง
Edge จะแสดงรายการโฮสต์เสมือนสำหรับสภาพแวดล้อมนั้น
- หากต้องการสร้างโฮสต์เสมือนใหม่ ให้เลือก + โฮสต์เสมือน
Edge จะแสดงแบบฟอร์ม Create Virtual Host
คุณยังสามารถคลิกชื่อของโฮสต์เสมือนที่มีอยู่เพื่อแก้ไขได้
- กำหนดโฮสต์เสมือนใหม่ โปรดทราบว่าฟิลด์ 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 หรือชื่อโดเมนของโหนดเซิร์ฟเวอร์การจัดการ:
$ 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 หรือชื่อโดเมนของโหนดเซิร์ฟเวอร์การจัดการ คุณต้องระบุคำจำกัดความที่สมบูรณ์ของ โฮสต์เสมือนในเนื้อหาคำขอ ไม่ใช่แค่องค์ประกอบที่คุณต้องการเปลี่ยนแปลง ด้วยวิธีนี้ ตัวอย่างเช่น คุณเปลี่ยนหมายเลขพอร์ตของโฮสต์เสมือนจาก 9008 เป็น 9009 ดังนี้curl -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 สําหรับ Private Cloud เวอร์ชัน 4.16.01 และ 4.16.05 เท่านั้น หากคุณแก้ไข
โฮสต์เสมือนที่มีอยู่ และคุณสามารถเปิดใช้ TLS หรือปิดใช้ TLS โดยไม่ต้องเปลี่ยนพอร์ต
แล้วทำดังนี้
หยุดเราเตอร์โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
ลบไฟล์ใน
/opt/nginx/conf.d
:rm -f /opt/nginx/conf.d/*
เริ่มต้นเราเตอร์
/opt/apigee/apigee-service/bin/apigee-service edge-router start
- ทำซ้ำสำหรับเราเตอร์ทั้งหมด