คุณกำลังดูเอกสารประกอบสำหรับ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info
ใน Edge Router จะจัดการการรับส่งข้อมูล API ขาเข้าทั้งหมด ซึ่งหมายความว่าคำขอ HTTP และ HTTPS ทั้งหมดที่ส่งไปยังพร็อกซี API จะได้รับการประมวลผลโดย Edge Router ก่อน
โฮสต์เสมือนช่วยให้คุณโฮสต์ชื่อโดเมนหลายรายการบนเซิร์ฟเวอร์ได้ สําหรับ Edge เซิร์ฟเวอร์จะสอดคล้องกับเราเตอร์ Edge การกําหนดโฮสต์เสมือนหลายรายการในเราเตอร์จะช่วยให้เราเตอร์จัดการคําขอ API ไปยังชื่อโดเมนหลายรายการได้
โฮสต์เสมือนใน Edge จะกำหนดโปรโตคอลการเข้าถึง (HTTP หรือ HTTPS), พอร์ตเราเตอร์ที่เปิดอยู่ และอีเมลแทนของโฮสต์ โดยปกติแล้ว ชื่อแทนโฮสต์คือชื่อโดเมน DNS ที่แมปกับที่อยู่ IP ของเราเตอร์
ตัวอย่างเช่น รูปภาพต่อไปนี้แสดงเราเตอร์ที่มีคำจำกัดความโฮสต์เสมือน 2 รายการ
โฮสต์เสมือนรายการแรกจัดการคำขอ HTTPS บนโดเมน domainName1 และคำขอ HTTP รายการที่ 2 จัดการคำขอ HTTP ใน domainName2
ในคําขอไปยังพร็อกซี API เราเตอร์จะเปรียบเทียบส่วนหัว Host
ของคําขอขาเข้ากับรายการอีเมลแทนโฮสต์ที่กําหนดโดยโฮสต์เสมือนทั้งหมดเพื่อระบุโฮสต์เสมือนที่จะจัดการคําขอ
เกี่ยวกับคำจำกัดความของโฮสต์เสมือน
โฮสต์เสมือนประกอบด้วยข้อมูลต่อไปนี้
- ชื่อภายในของโฮสต์เสมือน คุณใช้ชื่อนั้นเพื่ออ้างอิงโฮสต์เสมือนในพร็อกซี API และเมื่อกำหนดค่าโฮสต์เสมือน
- ชื่อแทนโฮสต์ของโฮสต์เสมือน โดยปกติแล้ว ชื่อแทนของโฮสต์คือชื่อโดเมน DNS ที่แมปกับที่อยู่ IP ในเราเตอร์ ส่วนหัว
Host
ของคำขอพร็อกซี API ต้องมีอีเมลแทนของโฮสต์เสมือน - พอร์ตที่เปิดอยู่บนเราเตอร์
- เปิดใช้ TLS (การเข้าถึง HTTPS) หรือไม่ (การเข้าถึง HTTP)
ตัวอย่างเช่น คุณระบุข้อมูลต่อไปนี้เมื่อสร้างโฮสต์เสมือน
- name = myvhost
- อีเมลแทนของโฮสต์ = apis.acme.com
- พอร์ต = 443
- เปิดใช้ TLS แล้ว
คำขอที่ส่งไปยังพร็อกซี API จะใช้แบบฟอร์มต่อไปนี้ตามการตั้งค่าด้านบนสำหรับโฮสต์เสมือน
https://apis.acme.com/{proxy-base-path}/{resource-path}
where:
- {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 for the Cloud
องค์กร 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 for the Cloud
ใน Edge for the 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
- port = 443
- เปิดใช้การเข้าถึง TLS
ดูข้อมูลเพิ่มเติมได้ที่การกำหนดค่าโฮสต์เสมือนสำหรับระบบคลาวด์
ชื่อแทนโฮสต์และชื่อ DNS ใน Edge สำหรับ Private Cloud
คุณสร้างโฮสต์เสมือนที่ใช้ชื่อโดเมนของคุณเองสำหรับชื่อแทนของโฮสต์ได้เช่นเดียวกับ Edge สำหรับระบบคลาวด์ จากนั้นคุณจะสร้างรายการ 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 และพอร์ตของเราเตอร์
ตัวอย่างเช่น คุณระบุข้อมูลนี้ในการกําหนดค่าโฮสต์เสมือน
- name = myvhost
- ชื่อแทนโฮสต์ = apis.acme.com
- พอร์ต = 9001
- เปิดใช้การเข้าถึง TLS
รูปภาพต่อไปนี้แสดงการกำหนดค่าทั่วไปสำหรับวิธีที่ Edge ประมวลผลคำขอ API
ในตัวอย่างนี้
- api.acme.com คือชื่อโดเมนที่คุณต้องการ
- คุณต้องกำหนดรายการ DNS และระเบียน CNAME ให้ชี้ api.acme.com ไปยังที่อยู่ IP และพอร์ตของเราเตอร์
- คำขอมีส่วนหัว
Host
ซึ่งเราเตอร์ใช้เพื่อกำหนดโฮสต์เสมือนที่จัดการคำขอ
ดูข้อมูลเพิ่มเติมได้ที่การกำหนดค่าโฮสต์เสมือนสำหรับระบบคลาวด์ส่วนตัว
ชื่อแทนและไวลด์การ์ดของโฮสต์
คุณสามารถใส่อักขระไวลด์การ์ด "*" ในชื่อแทนโฮสต์ได้ อักขระไวลด์การ์ด "*" จะอยู่ได้เฉพาะที่จุดเริ่มต้น (ก่อน "." ตัวแรก) ของอีเมลแทนโฮสต์เท่านั้น และจะต้องไม่ผสมกับอักขระอื่นๆ
ต่อไปนี้คือตัวอย่างของอีเมลแทนโฮสต์ที่ถูกต้องโดยใช้ไวลด์การ์ด
*.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 สำหรับระบบคลาวด์หรือ Edge สำหรับ Private Cloud หากคุณใช้ Edge สำหรับ Private Cloud รายการพร็อพเพอร์ตี้ที่พร้อมใช้งานจะขึ้นอยู่กับเวอร์ชันของ Edge ด้วย ดูคำอธิบายพร็อพเพอร์ตี้ทั้งหมดของโฮสต์เสมือนได้ในส่วนข้อมูลอ้างอิงพร็อพเพอร์ตี้โฮสต์เสมือน
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างโฮสต์เสมือนสำหรับ Edge เวอร์ชันที่เฉพาะเจาะจงได้ที่หัวข้อต่อไปนี้