คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
ใน Edge เราเตอร์จะจัดการการรับส่งข้อมูลของ API ขาเข้าทั้งหมด ซึ่งหมายความว่าเราเตอร์ Edge จะเป็นผู้จัดการคำขอ HTTP และ HTTPS ทั้งหมดที่ส่งไปยังพร็อกซี API ก่อน
โฮสต์เสมือนช่วยให้คุณโฮสต์ชื่อโดเมนหลายชื่อบนเซิร์ฟเวอร์ได้ สำหรับ Edge เซิร์ฟเวอร์จะสอดคล้องกับเราเตอร์ Edge การกำหนดโฮสต์เสมือนหลายรายการบนเราเตอร์จะทำให้เราเตอร์จัดการคำขอ API ไปยังชื่อโดเมนหลายชื่อได้
โฮสต์เสมือนบน Edge กำหนดโปรโตคอลการเข้าถึง (HTTP หรือ HTTPS), พอร์ตเราเตอร์แบบเปิด และชื่อแทนโฮสต์ โดยปกติชื่อแทนโฮสต์จะเป็นชื่อโดเมน DNS ที่แมปกับที่อยู่ IP ของเราเตอร์
ตัวอย่างเช่น รูปภาพต่อไปนี้แสดงเราเตอร์ที่มีคำจำกัดความโฮสต์เสมือน 2 ค่า
โฮสต์เสมือนรายแรกจัดการคำขอ HTTPS ในโดเมน domainName1 และโฮสต์ที่ 2 จัดการคำขอ HTTP ใน domainName2
เมื่อมีคำขอที่ส่งไปยังพร็อกซี API เราเตอร์จะเปรียบเทียบส่วนหัว Host
ของคำขอขาเข้ากับรายการชื่อแทนโฮสต์ที่กำหนดโดยโฮสต์เสมือนทั้งหมด เพื่อกำหนดโฮสต์เสมือนที่จัดการคำขอ
เกี่ยวกับคำจำกัดความของโฮสต์เสมือน
โฮสต์เสมือนจะมีข้อมูลต่อไปนี้
- ชื่อภายในของโฮสต์เสมือน คุณจะใช้ชื่อนั้นเพื่ออ้างอิงโฮสต์เสมือนในพร็อกซี API และเมื่อกำหนดค่าโฮสต์เสมือน
- ชื่อแทนโฮสต์ของโฮสต์เสมือน โดยทั่วไปแล้ว ชื่อแทนโฮสต์คือชื่อโดเมน DNS ที่แมปกับที่อยู่ IP บนเราเตอร์ ส่วนหัว
Host
ของคำขอพร็อกซี API ต้องมีชื่อแทนของโฮสต์เสมือน - พอร์ตแบบเปิดบนเราเตอร์
- มีการเปิดใช้ TLS (การเข้าถึง HTTPS) หรือไม่ (การเข้าถึง HTTP)
ตัวอย่างเช่น คุณต้องระบุข้อมูลต่อไปนี้เมื่อสร้างโฮสต์เสมือน
- ชื่อ = myvhost
- ชื่อแทนโฮสต์ = apis.acme.com
- พอร์ต = 443
- เปิดใช้งาน TLS แล้ว
คำขอที่ส่งไปยังพร็อกซี API จะใช้แบบฟอร์มตามการตั้งค่าด้านบนสำหรับโฮสต์เสมือน
https://apis.acme.com/{proxy-base-path}/{resource-path}
ที่ไหน
- ระบบจะกำหนด {proxy-base-path} เมื่อคุณสร้างพร็อกซี API และจะไม่ซ้ำกันสำหรับพร็อกซี API แต่ละรายการ
ตัวอย่างเช่น
https://apis.acme.com/characters
- {resource-path} เส้นทางไปยังทรัพยากรที่เข้าถึงได้ผ่านพร็อกซี API ตัวอย่างเช่น
https://apis.acme.com/characters/coyote https://apis.acme.com/characters/roadrunner
เกี่ยวกับโฮสต์เสมือนใน Edge สำหรับระบบคลาวด์
องค์กร Edge แต่ละรายการจะมีสภาพแวดล้อม 2 รายการโดยอัตโนมัติ (test
และ prod
) โฮสต์เสมือน 2 รายการในแต่ละสภาพแวดล้อม (ค่าเริ่มต้นและความปลอดภัย) และระเบียน DNS สำหรับชื่อแทนโฮสต์แต่ละรายการ
ชื่อแทนโฮสต์ของโฮสต์เสมือนจาก Apigee แต่ละรายการจะมีชื่อขององค์กรและสภาพแวดล้อมตามที่แสดงในตารางต่อไปนี้
สภาพแวดล้อม | ชื่อโฮสต์เสมือน | ชื่อแทนโฮสต์ | พอร์ต | เปิดใช้ TLS แล้ว |
---|---|---|---|---|
Prod | ค่าเริ่มต้น | {org-name}-prod.apigee.net |
80 | ไม่ได้ |
รักษาความปลอดภัย | {org-name}-prod.apigee.net |
443 | มี | |
ทดสอบ | ค่าเริ่มต้น | {org-name}-test.apigee.net |
80 | ไม่ได้ |
รักษาความปลอดภัย | {org-name}-test.apigee.net |
443 | มี |
เช่น ชื่อโดเมนเริ่มต้นขององค์กรชื่อ "myorg
" ในสภาพแวดล้อม prod
คือ "myorg-prod.apigee.net
" ดังนั้น หากต้องการเข้าถึงพร็อกซี API ในองค์กรนั้น คุณจะใช้ URL ในแบบฟอร์มดังนี้
http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path} https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
แพ็กเกจแบบชำระเงินของ Apigee: ชื่อโดเมนที่มี "apigee.net" อาจไม่ใช่สิ่งที่คุณต้องการให้ลูกค้าเห็น คุณใช้รายการ DNS และระเบียน CNAME เพื่อแมปชื่อโดเมนกับองค์กรใน Edge ได้ คุณต้องสร้างโฮสต์เสมือนด้วยที่ตั้งค่าชื่อแทนโฮสต์เป็นชื่อโดเมนนั้นด้วย ซึ่งจะทำให้นักพัฒนาซอฟต์แวร์เข้าถึง API ของคุณผ่านโดเมนเฉพาะสำหรับบริษัทของคุณได้
ตัวอย่างโดเมนที่กำหนดเองใน Edge มีดังนี้
https://apis.acme.com/{proxy-base-path}/{resource-path}
เกี่ยวกับโฮสต์เสมือนบน Edge สำหรับ Private Cloud
เมื่อติดตั้ง Apigee Edge สำหรับ Private Cloud แล้ว ระบบจะไม่สร้างองค์กร สภาพแวดล้อม หรือโฮสต์เสมือนเริ่มต้นให้คุณ หลังจากติดตั้ง Edge เสร็จสมบูรณ์แล้ว การดำเนินการแรกของคุณมักจะเป็นการสร้างองค์กร สภาพแวดล้อม และโฮสต์เสมือนผ่านกระบวนการ "เริ่มต้นใช้งาน"
หากต้องการเริ่มต้นใช้งาน ให้เรียกใช้คำสั่งต่อไปนี้ในโหนด Edge Management Server
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
โดยที่ configFile มีข้อมูลที่จำเป็นต่อการสร้างผู้ใช้ องค์กร สภาพแวดล้อม และโฮสต์เสมือน
เช่น คุณสร้างสิ่งต่อไปนี้
- ผู้ใช้ที่คุณเลือกทำหน้าที่เป็นผู้ดูแลระบบองค์กร
- องค์กรชื่อ
example
- สภาพแวดล้อมในองค์กรชื่อ
prod
- โฮสต์เสมือนในสภาพแวดล้อมชื่อ
default
ที่อนุญาตการเข้าถึง HTTP บนพอร์ต 9001 - ชื่อแทนโฮสต์ของชื่อ DNS ที่ใช้ในการเข้าถึงเราเตอร์ หรือที่อยู่ IP ของเราเตอร์และพอร์ตของโฮสต์เสมือนในรูปแบบ
IP:9001
คุณเพิ่มองค์กร สภาพแวดล้อม และโฮสต์เสมือนกี่รายการก็ได้ไปยัง Edge เวอร์ชันภายในองค์กร ดูข้อมูลเพิ่มเติมได้ที่
โฮสต์เสมือนจะเปิดขึ้นบนเราเตอร์ Edge คุณจึงต้องตรวจสอบว่าพอร์ตที่ระบุสำหรับโฮสต์เสมือนเปิดอยู่บนเราเตอร์ คุณใช้คำสั่งในแบบฟอร์มด้านล่างเพื่อเปิดพอร์ตได้
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose
หลังจากเรียกใช้คำสั่งดังกล่าว คุณจะเข้าถึง API ได้โดยใช้ URL ในแบบฟอร์ม
http://<router-ip>:9001/{proxy-base-path}/{resource-path}
โดยปกติแล้วคุณจะไม่เผยแพร่ API ต่อลูกค้าที่มีที่อยู่ IP และหมายเลขพอร์ต แต่คุณจะระบุรายการ DNS สำหรับเราเตอร์และพอร์ตแทน เช่น
http://myAPI.myCo.com/{proxy-base-path}/{resource-path}
เมื่อกำหนดรายการ DNS คุณต้องสร้างโฮสต์เสมือนที่มีชื่อแทนโฮสต์ที่ตรงกับชื่อโดเมนของรายการ DNS ด้วย จากตัวอย่างข้างต้น คุณจะต้องระบุชื่อแทนโฮสต์ของ myAPI.myCo.com เมื่อสร้างโฮสต์เสมือน
เกี่ยวกับชื่อแทนโฮสต์และชื่อ DNS
พร็อพเพอร์ตี้รายการหนึ่งที่คุณตั้งค่าไว้สำหรับโฮสต์เสมือนคือชื่อแทนโฮสต์ ชื่อแทนโฮสต์มักจะเป็นชื่อ DNS ของโฮสต์เสมือน วิธีตั้งค่าชื่อแทนโฮสต์จะขึ้นอยู่กับประเภทการติดตั้ง Edge ซึ่งได้แก่ Cloud หรือ Private Cloud
ชื่อแทนโฮสต์และชื่อ DNS ใน Edge สำหรับ Cloud
ใน Edge สำหรับ Cloud เมื่อสร้างองค์กร Edge เป็นครั้งแรก Apigee จะสร้างสภาพแวดล้อม 2 รายการโดยอัตโนมัติ (test
และ prod
) โฮสต์เสมือน 2 รายการในแต่ละสภาพแวดล้อม (ค่าเริ่มต้นและความปลอดภัย) และระเบียน DNS สำหรับโฮสต์เสมือนแต่ละรายการ
ชื่อแทนโฮสต์ของโฮสต์เสมือนจะมีชื่อขององค์กรและสภาพแวดล้อม ดังนั้น คำขอผ่านโฮสต์เสมือนจะมีรูปแบบดังนี้
http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
โดยทั่วไปแล้ว คุณต้องการสร้างโฮสต์เสมือนที่ใช้ชื่อโดเมนของคุณ แทนที่จะใช้โดเมน apigee.net
เริ่มต้น โดยคุณจะต้องสร้างรายการ DNS และระเบียน CNAME ของคุณเองก่อน
รูปต่อไปนี้แสดงการกำหนดค่าทั่วไปสำหรับวิธีที่ Edge ประมวลผลคำขอ API
ในตัวอย่างนี้
- api.acme.com คือชื่อโดเมนที่คุณต้องการ
- คุณกำหนดรายการ DNS และระเบียน CNAME ให้ชี้ api.acme.com ไปที่ acme-prod.apigee.net
- คำขอจะมีส่วนหัว
Host
ที่เราเตอร์ใช้เพื่อกำหนดโฮสต์เสมือนที่จัดการคำขอ
ในตัวอย่างนี้ คุณระบุข้อมูลต่อไปนี้ในคำจำกัดความโฮสต์เสมือน
- ชื่อ = myvhost
- ชื่อแทนโฮสต์ = apis.acme.com
- พอร์ต = 443
- เปิดใช้การเข้าถึง TLS
โปรดดูการกำหนดค่าโฮสต์เสมือนสำหรับระบบคลาวด์สำหรับข้อมูลเพิ่มเติม
ชื่อแทนโฮสต์และชื่อ DNS ใน Edge สำหรับ Private Cloud
เช่นเดียวกับ Edge สำหรับ Cloud คุณจะสร้างโฮสต์เสมือนที่ใช้ชื่อโดเมนของคุณเองสำหรับชื่อแทนของโฮสต์ได้ จากนั้นสร้างรายการ DNS และระเบียน CNAME ของคุณเองเพื่อเข้าถึงโฮสต์เสมือนเหล่านั้น
ข้อแตกต่างประการหนึ่งระหว่าง Cloud และ Private Cloud คือใน Cloud Apigee จะสร้างชื่อ DNS สำหรับองค์กรโดยอัตโนมัติในรูปแบบต่อไปนี้
- name=default:
http://{org-name}-{env-name}.apigee.net
(พอร์ตเราเตอร์ 80) - name=secure:
https://{org-name}-{env-name}.apigee.net
(พอร์ตเราเตอร์ 443)
ใน Edge สำหรับ Private Cloud คุณต้องสร้างรายการ DNS ไปยังที่อยู่ IP และพอร์ตของเราเตอร์
ตัวอย่างเช่น คุณระบุข้อมูลนี้ในคำจำกัดความของโฮสต์เสมือน
- ชื่อ = myvhost
- ชื่อแทนโฮสต์ = apis.acme.com
- พอร์ต = 9001
- เปิดใช้การเข้าถึง TLS
รูปต่อไปนี้แสดงการกำหนดค่าทั่วไปสำหรับวิธีที่ Edge ประมวลผลคำขอ API
ในตัวอย่างนี้
- api.acme.com คือชื่อโดเมนที่คุณต้องการ
- คุณกำหนดรายการ DNS และระเบียน CNAME ให้ชี้ api.acme.com ไปยังที่อยู่ IP และพอร์ตของเราเตอร์
- คำขอจะมีส่วนหัว
Host
ที่เราเตอร์ใช้เพื่อกำหนดโฮสต์เสมือนที่จัดการคำขอ
โปรดดูการกำหนดค่าโฮสต์เสมือนสำหรับ Private Cloud สำหรับข้อมูลเพิ่มเติม
ชื่อแทนโฮสต์และไวลด์การ์ด
คุณสามารถใส่อักขระไวลด์การ์ด "*" ในชื่อแทนโฮสต์ได้ อักขระไวลด์การ์ด "*" จะอยู่ที่จุดเริ่มต้น (ก่อน ".") ตัวแรกของชื่อแทนโฮสต์เท่านั้น และรวมกับอักขระอื่นๆ ไม่ได้
ต่อไปนี้เป็นตัวอย่างของชื่อแทนโฮสต์ที่ถูกต้องซึ่งใช้ไวลด์การ์ด
*.example.com
ตัวอย่างต่อไปนี้ไม่ถูกต้อง:
www.*.example.com w*.example.com
การใช้ไวลด์การ์ดในชื่อแทนโฮสต์เสมือนจะช่วยให้พร็อกซี API จัดการการเรียกที่ส่งไปยังโดเมนย่อยหลายรายการได้ เช่น alpha.example.com
, beta.example.com
หรือ live.example.com
การใช้ชื่อแทนไวลด์การ์ดยังจะช่วยให้คุณใช้โฮสต์เสมือนต่อสภาพแวดล้อมน้อยลงเพื่อให้อยู่ภายในขีดจํากัดผลิตภัณฑ์ เนื่องจากโฮสต์เสมือนที่มีไวลด์การ์ดจะนับเป็นโฮสต์เสมือนเพียงโฮสต์เดียว
ใบรับรอง TLS สำหรับโฮสต์เสมือนต้องมีไวลด์การ์ดที่ตรงกันในชื่อ CN ของใบรับรอง
เช่น *.example.com
เกี่ยวกับพร็อพเพอร์ตี้โฮสต์เสมือน
ใน Edge โฮสต์เสมือนจะแสดงด้วยออบเจ็กต์ XML เช่น ออบเจ็กต์ XML ต่อไปนี้กำหนดโฮสต์เสมือน
<VirtualHost name="vhostName"> <HostAliases> <HostAlias>hostAlias</HostAlias> </HostAliases> <Interfaces> <!-- Private Cloud only --> <Interface>interfaceName</Interface> <Port>portNumber</Port> <BaseURL>http://myCo.com<</BaseUrl> <OCSPStapling>off</OCSPStapling> <RetryOptions/> <SSLInfo> <Enabled>trueFalse</Enabled> <ClientAuthEnabled>trueFalse</ClientAuthEnabled> <KeyStore>ref://keystoreRef</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>ref://truststoreRef</TrustStore> <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors> </SSLInfo> <Properties> <Property name="proxy_read_timeout">timeout</Property> <Property name="keepalive_timeout">timeout</Property> <Property name="proxy_request_buffering">onOff</Property> <Property name="proxy_buffering">onOff</Property> <Property name="ssl_protocols">protocolList</Property> <Property name="ssl_ciphers">cipherList</Property> </Properties> </VirtualHost>
รายการพร็อพเพอร์ตี้ที่กำหนดได้จะขึ้นอยู่กับว่าคุณใช้ Edge สำหรับ Cloud หรือ Edge สำหรับ Private Cloud หากคุณใช้ Edge สำหรับ Private Cloud รายการพร็อพเพอร์ตี้ที่พร้อมใช้งานจะขึ้นอยู่กับเวอร์ชัน Edge ของคุณด้วย ดูรายละเอียดพร็อพเพอร์ตี้ทั้งหมดของโฮสต์เสมือนได้ที่ข้อมูลอ้างอิงพร็อพเพอร์ตี้โฮสต์เสมือน
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างโฮสต์เสมือนสำหรับ Edge เวอร์ชันที่ต้องการที่หัวข้อต่อไปนี้