คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบเกี่ยวกับ Apigee Xข้อมูล
ในการติดตั้งในองค์กร คุณจะควบคุมโฮสต์เสมือนได้อย่างเต็มที่ คุณสามารถสร้างโฮสต์เสมือนสำหรับองค์กรใดก็ได้ในสภาพแวดล้อมใดก็ได้ โดยใช้ TLS หรือไม่ก็ได้
เอกสารนี้อธิบายวิธีสร้างโฮสต์เสมือนแบบง่าย ซึ่งก็คือเบราว์เซอร์ที่ไม่รองรับ TLS ดูตัวอย่างเพิ่มเติม รวมถึงตัวอย่างการสร้างโฮสต์เสมือนที่รองรับ TLS ได้ที่การกำหนดค่าการเข้าถึง TLS ไปยัง API สําหรับระบบคลาวด์ส่วนตัว
ดูข้อมูลเพิ่มเติม
- เกี่ยวกับโฮสต์เสมือน
- การกำหนดค่าโฮสต์เสมือน
- การกำหนดค่า 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 ของเราเตอร์และส่งอีเมลแทนของโฮสต์ในส่วนหัว
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 สําหรับระบบคลาวด์ส่วนตัวได้โดยใช้ API หรือ UI ของ Edge ซึ่งจะอธิบายในส่วนต่อไปนี้
สร้างโฮสต์เสมือนโดยใช้เบราว์เซอร์
หัวข้อนี้จะอธิบายวิธีสร้างโฮสต์เสมือนโดยใช้เบราว์เซอร์ (เฉพาะ Edge UI เท่านั้น)
วิธีสร้างโฮสต์เสมือนใหม่ใน Edge UI
- เข้าสู่ระบบ UI การจัดการ Edge
- เลือกผู้ดูแลระบบ > โฮสต์เสมือน
เลือกสภาพแวดล้อมจากรายการแบบเลื่อนลง
Edge จะแสดงรายการโฮสต์เสมือนสําหรับสภาพแวดล้อมนั้น
- หากต้องการสร้างโฮสต์เสมือนใหม่ ให้เลือก + โฮสต์เสมือน
Edge จะแสดงแบบฟอร์มสร้างโฮสต์เสมือน
นอกจากนี้ คุณยังคลิกชื่อโฮสต์เสมือนที่มีอยู่เพื่อแก้ไขได้ด้วย
- กำหนดโฮสต์เสมือนใหม่ โปรดทราบว่าช่อง Base 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 ให้ทําดังนี้
- สร้างโฮสต์เสมือนโดยใช้ Create a Virtual Host 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
- ทำซ้ำสำหรับเราเตอร์ทั้งหมด