คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
ใน Edge เราเตอร์จะจัดการการรับส่งข้อมูลของ API ขาเข้าทั้งหมด หมายความว่า HTTP และ HTTPS ทั้งหมด Edge Router จะจัดการคำขอไปยังพร็อกซี API ก่อน
โฮสต์เสมือนช่วยให้คุณสามารถโฮสต์ชื่อโดเมนหลายชื่อบนเซิร์ฟเวอร์ สำหรับ Edge เซิร์ฟเวอร์จะสอดคล้องกับ Edge Router การกำหนดโฮสต์เสมือนหลายรายการบนเราเตอร์ เราเตอร์สามารถจัดการคำขอ API ที่ส่งไปยังชื่อโดเมนหลายชื่อ
โฮสต์เสมือนบน Edge จะกำหนดโปรโตคอลการเข้าถึง (HTTP หรือ HTTPS) พอร์ตเราเตอร์แบบเปิด และโฮสต์ ชื่อแทน โดยทั่วไปชื่อแทนโฮสต์จะเป็นชื่อโดเมน DNS ที่แมปกับที่อยู่ IP ของเราเตอร์
ตัวอย่างเช่น รูปภาพต่อไปนี้แสดงเราเตอร์ที่มีคำจำกัดความโฮสต์เสมือน 2 รายการ
โฮสต์เสมือนรายการแรกจัดการคำขอ HTTPS บน โดเมน domainName1 และโดเมนที่สองจะจัดการคำขอ 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
/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 Router ดังนั้นคุณต้องตรวจสอบว่าพอร์ตที่ ที่คุณระบุสำหรับโฮสต์เสมือนจะเปิดขึ้นบนเราเตอร์ คุณสามารถใช้คำสั่งในแบบฟอร์มด้านล่าง เพื่อเปิดพอร์ต
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: ระบบคลาวด์หรือ Private Cloud
ชื่อแทนโฮสต์และ ชื่อ DNS ใน Edge สำหรับระบบคลาวด์
Apigee จะสร้างองค์กร Edge โดยอัตโนมัติใน Edge สำหรับระบบคลาวด์
สร้างสภาพแวดล้อม 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 สำหรับระบบคลาวด์ ชื่อแทน จากนั้นคุณจะสร้างรายการ DNS และระเบียน CNAME ของคุณเองเพื่อเข้าถึงโฮสต์เสมือนเหล่านั้น
ข้อแตกต่างอย่างหนึ่งระหว่าง Cloud และ Private Cloud ก็คือใน Cloud Apigee ชื่อ DNS ที่สร้างโดยอัตโนมัติสำหรับองค์กรในรูปแบบดังนี้
- name=ค่าเริ่มต้น:
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
การใช้ชื่อแทนที่เป็นไวลด์การ์ดยังช่วยให้คุณใช้ระบบเสมือนน้อยลงด้วย
โฮสต์ต่อสภาพแวดล้อมเพื่อให้อยู่ภายในผลิตภัณฑ์
ขีดจำกัด เนื่องจากโฮสต์เสมือนที่มีไวลด์การ์ดจะนับเป็นโฮสต์เสมือนเพียง 1 รายการเท่านั้น
ใบรับรอง 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 สําหรับระบบคลาวด์หรือไม่ หรือ Edge สำหรับ Private Cloud ได้ หากคุณใช้ Edge สำหรับ Private Cloud รายการของ พร็อพเพอร์ตี้ที่พร้อมใช้งานจะขึ้นอยู่กับเวอร์ชันของ Edge ด้วย สำหรับคำอธิบายที่สมบูรณ์ของพร็อพเพอร์ตี้ทั้งหมดของโฮสต์เสมือน โปรดดู การอ้างอิงพร็อพเพอร์ตี้โฮสต์เสมือน
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างโฮสต์เสมือนสำหรับ Edge เวอร์ชันที่ต้องการของคุณได้ที่