คุณกำลังดูเอกสาร Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
เอกสารนี้มีภาพรวมเกี่ยวกับวิธีกำหนดค่า TLS บน Edge สำหรับพื้นที่ทำงาน 2 พื้นที่ดังนี้
- การเข้าถึงพร็อกซี API โดยไคลเอ็นต์ API ใช้โฮสต์เสมือนบนเราเตอร์ Edge เพื่อกำหนดค่า TLS
- การเข้าถึงบริการแบ็กเอนด์ของคุณตาม Edge ใช้ปลายทางและเซิร์ฟเวอร์เป้าหมายบนตัวประมวลผล Edge Message เพื่อกำหนดค่า TLS
การเข้าถึงทั้ง 2 ประเภทแสดงไว้ด้านล่างนี้
เกี่ยวกับการตั้งค่าตัวเลือก TLS ในโฮสต์เสมือนหรือเซิร์ฟเวอร์ปลายทาง/เป้าหมายปลายทาง
โฮสต์เสมือนสามารถแสดงด้วยออบเจ็กต์ XML ในรูปแบบต่อไปนี้
<VirtualHost name="secure"> ... <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> <TrustStore>ref://myTruststoreRef</TrustStore> <IgnoreValidationErrors>false</IgnoreValidationErrors> </SSLInfo> </VirtualHost>
พื้นที่ของโฮสต์เสมือนที่คุณแก้ไขเพื่อกำหนดค่า TLS จะกำหนดโดยแท็ก <SSLInfo> คุณใช้แท็ก <SSLInfo> เดียวกันเพื่อกำหนดค่าปลายทางหรือเซิร์ฟเวอร์เป้าหมายได้
ตารางต่อไปนี้อธิบายองค์ประกอบการกำหนดค่า TLS ที่แท็ก <SSLInfo> ใช้
องค์ประกอบ | คำอธิบาย |
---|---|
<เปิดใช้> |
เปิดใช้ TLS แบบทางเดียวระหว่าง Edge และไคลเอ็นต์ API หรือระหว่าง Edge กับแบ็กเอนด์เป้าหมาย สำหรับโฮสต์เสมือน คุณต้องกำหนดคีย์สโตร์ที่มีใบรับรองและคีย์ส่วนตัว |
<ClientAuthEnabled> |
เปิดใช้ TLS แบบ 2 ทางระหว่าง Edge และไคลเอ็นต์ API หรือระหว่าง Edge กับแบ็กเอนด์เป้าหมาย โดยปกติแล้ว การเปิดใช้ TLS แบบ 2 ทางกำหนดให้คุณต้องตั้งค่า Truststore ใน Edge |
<KeyStore> | คีย์สโตร์ |
<KeyAlias> | ชื่อแทนที่ระบุเมื่อคุณอัปโหลดใบรับรองและคีย์ส่วนตัวไปยังคีย์สโตร์ |
<TrustStore> | Truststore |
<IgnoreValidationErrors> | หากเป็น "จริง" Edge จะไม่พบข้อผิดพลาดเกี่ยวกับใบรับรอง TLS ใช้ได้เมื่อกำหนดค่า TLS สำหรับเซิร์ฟเวอร์เป้าหมายและปลายทางเป้าหมาย และเมื่อกำหนดค่าโฮสต์เสมือนที่ใช้ TLS แบบ 2 ทาง ค่าเริ่มต้นคือ false เมื่อใช้กับเซิร์ฟเวอร์ปลายทาง/เป้าหมาย หากระบบแบ็กเอนด์ใช้ SNI และแสดงผลใบรับรองที่มีหัวเรื่อง Distinguished Name (DN) ที่ไม่ตรงกับชื่อโฮสต์ จะไม่มีทางละเว้นข้อผิดพลาดและการเชื่อมต่อล้มเหลวได้ |
<CommonName> | หากระบุ ระบบจะตรวจสอบค่าที่ใช้ตรวจสอบชื่อจริงของใบรับรองเป้าหมาย ค่านี้ใช้ได้กับการกำหนดค่า TargetEndpoint และ TargetServer เท่านั้น ซึ่งใช้ไม่ได้กับการกำหนดค่า VirtualHost โดยค่าเริ่มต้น ค่าที่ระบุจะตรงกับชื่อทั่วไปของใบรับรองเป้าหมายทุกประการ
เช่น การใช้ นอกจากนี้ Apigee ยังเลือกดำเนินการจับคู่กับไวลด์การ์ดได้โดยใช้แอตทริบิวต์ เช่น ระบบจะจับคู่และตรวจสอบชื่อทั่วไปที่ระบุเป็น <CommonName wildcardMatch="true">*.myhost.com</CommonName> |
เกี่ยวกับการตั้งค่าองค์ประกอบ <KeyStore> และ <TrustStore>
ในตัวอย่างโฮสต์เสมือนข้างต้น จะมีการระบุคีย์สโตร์และ Truststore โดยใช้referencesในแบบฟอร์ม
<KeyStore>ref://myKeystoreRef</KeyStore> <TrustStore>ref://myTruststoreRef</TrustStore>
Apigee ขอแนะนำอย่างยิ่งให้คุณใช้การอ้างอิงไปยังคีย์สโตร์และ Truststore เสมอ การอ้างอิงคือตัวแปรที่มีชื่อของคีย์สโตร์หรือ Truststore แทนการระบุชื่อคีย์สโตร์โดยตรง ในตัวอย่างนี้
myKeystoreRef
คือข้อมูลอ้างอิงที่มีชื่อของคีย์สโตร์ ในตัวอย่างนี้ ชื่อของคีย์สโตร์คือ myKeystoremyTruststoreRef
คือข้อมูลอ้างอิงที่มีชื่อของ Truststore ในตัวอย่างนี้ ชื่อของ Truststore คือ myTruststore
เมื่อใบรับรองหมดอายุ คุณต้องอัปเดตโฮสต์เสมือนหรือเซิร์ฟเวอร์ปลายทาง/ปลายทางเป้าหมายเพื่อระบุคีย์สโตร์หรือ Truststore ที่มีใบรับรองใหม่ ข้อดีของข้อมูลอ้างอิงคือคุณสามารถแก้ไขค่าของข้อมูลอ้างอิงเพื่อเปลี่ยนคีย์สโตร์หรือ Truststore โดยไม่ต้องแก้ไขโฮสต์เสมือน หรือปลายทาง/เซิร์ฟเวอร์เป้าหมายเป้าหมายด้วยตัวเอง ดังนี้
- สำหรับลูกค้า Cloud: คุณไม่จำเป็นต้องติดต่อทีมสนับสนุนของ Apigee Edge ในการเปลี่ยนค่าของข้อมูลอ้างอิง
- สำหรับลูกค้า Private Cloud: การเปลี่ยนค่าข้อมูลอ้างอิงไม่ได้กำหนดให้คุณต้องรีสตาร์ทคอมโพเนนต์ Edge เช่น เราเตอร์และผู้ประมวลผลข้อความ
หรือจะระบุชื่อคีย์สโตร์และชื่อ Truststore โดยตรงก็ได้
<KeyStore>myKeystore</KeyStore> <TrustStore>myTruststore</TrustStore>
หากคุณระบุชื่อคีย์สโตร์หรือ Truststore โดยตรง ลูกค้า Cloud ต้องติดต่อทีมสนับสนุน Apigee Edge และลูกค้า Private Cloud จะต้องรีสตาร์ทคอมโพเนนต์ Edge บางรายการเพื่ออัปเดตใบรับรอง
ตัวเลือกที่ 3 สำหรับปลายทาง/เซิร์ฟเวอร์เป้าหมายเท่านั้น คือการใช้ตัวแปรโฟลว์
<KeyStore>{ssl.keystore}</KeyStore> <TrustStore>{ssl.truststore}</TrustStore>
ตัวแปรโฟลว์ใช้งานได้กับปลายทาง/เซิร์ฟเวอร์เป้าหมาย และให้คุณอัปเดตคีย์สโตร์หรือ Truststore ได้เหมือนกับการอ้างอิง แต่จะใช้ไม่ได้กับโฮสต์เสมือน และกำหนดให้คุณต้องส่งต่อข้อมูลเกี่ยวกับคีย์สโตร์ ชื่อแทน และ Truststore ทุกครั้งที่ส่งคำขอ
ข้อจำกัดในการใช้การอ้างอิงไปยังคีย์สโตร์และ Truststore
ลูกค้าระบบคลาวด์แบบชำระเงินและลูกค้า Private Cloud ทุกรายที่กำหนดค่า TLS จะต้องคำนึงถึงข้อจำกัดต่อไปนี้เมื่อใช้การอ้างอิงไปยังคีย์สโตร์และ Truststore
- คุณจะใช้การอ้างอิงคีย์สโตร์และ Truststore ในโฮสต์เสมือนได้ก็ต่อเมื่อสิ้นสุด TLS บนเราเตอร์ Apigee
- หากคุณมีตัวจัดสรรภาระงานอยู่หน้าเราเตอร์ Apigee และสิ้นสุด TLS ในตัวจัดสรรภาระงาน คุณจะใช้การอ้างอิงคีย์สโตร์และ Truststore ในโฮสต์เสมือนไม่ได้
หากโฮสต์เสมือนที่มีอยู่ของคุณใช้คีย์สโตร์หรือชื่อ Truststore
โฮสต์เสมือนที่มีอยู่ใน Edge อาจไม่ได้รับการกำหนดค่าให้ใช้การอ้างอิงสำหรับคีย์สโตร์และ Truststore ในกรณีนี้ คุณสามารถอัปเดตโฮสต์เสมือนเพื่อใช้ข้อมูลอ้างอิง
Edge สำหรับระบบคลาวด์
หากต้องการเปลี่ยนโฮสต์เสมือนให้ใช้การอ้างอิงไปยังคีย์สโตร์ คุณต้องทำงานร่วมกับทีมสนับสนุนของ Apigee Edge
Edge สำหรับ Private Cloud
วิธีแปลงโฮสต์เสมือนเพื่อใช้ข้อมูลอ้างอิง
- อัปเดตโฮสต์เสมือนเพื่อใช้ข้อมูลอ้างอิง
- รีสตาร์ทเราเตอร์
เกี่ยวกับการใช้ใบรับรองและคีย์ช่วงทดลองใช้ Apigee ฟรี
หากมี Edge แบบชำระเงินสำหรับบัญชี Cloud แต่ยังไม่มีใบรับรองและคีย์ TLS คุณจะสร้างโฮสต์เสมือนที่ใช้ใบรับรองและคีย์ช่วงทดลองใช้ Apigee ฟรีได้ ซึ่งหมายความว่าคุณจะสร้างโฮสต์เสมือนได้โดยไม่ต้องสร้างคีย์สโตร์ก่อน
ออบเจ็กต์ XML ที่กำหนดโฮสต์เสมือนโดยใช้ใบรับรองการทดลองใช้ Apigee ฟรีและคีย์จะข้ามองค์ประกอบ <KeyStore>
และ <KeyAlias>
และแทนที่ด้วยองค์ประกอบ <UseBuiltInFreeTrialCert>
ดังที่แสดงด้านล่าง
<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>myapi.apigee.net</HostAlias> </HostAliases> <Port>443</Port> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> </SSLInfo> <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert> </VirtualHost>
หากใช้ TLS แบบ 2 ทาง คุณยังคงต้องตั้งค่าองค์ประกอบ <ClientAuthEnabled>
เป็น true
และระบุ Truststore โดยใช้การอ้างอิงที่มีองค์ประกอบ <TrustStore>
โปรดดูการกำหนดค่าโฮสต์เสมือนสำหรับระบบคลาวด์สำหรับข้อมูลเพิ่มเติม
เกี่ยวกับการกำหนดค่า TLS
ปัจจัยหลัก 2 ประการที่กำหนดวิธีการกำหนดค่า TLS มีดังนี้
- คุณเป็นลูกค้า Edge Cloud หรือ Private Cloud
- คุณจะอัปเดตใบรับรองที่หมดอายุหรือหมดอายุแล้วอย่างไร
ตัวเลือกการกำหนดค่า Cloud และ Private Cloud
ตารางต่อไปนี้แสดงตัวเลือกการกำหนดค่าที่แตกต่างกันสำหรับลูกค้า Cloud และ Private Cloud
Private Cloud | Cloud | |
---|---|---|
โฮสต์เสมือน | ควบคุมได้ดั่งใจ | ควบคุมได้โดยสมบูรณ์สำหรับบัญชีแบบชำระเงินเท่านั้น |
เซิร์ฟเวอร์ปลายทาง/เป้าหมาย | ควบคุมได้ดั่งใจ | ควบคุมได้ดั่งใจ |
ลูกค้า Private Cloud สามารถควบคุมการกำหนดค่าของทั้งโฮสต์เสมือนและปลายทาง/เซิร์ฟเวอร์เป้าหมายเป้าหมายได้อย่างสมบูรณ์ การควบคุมดังกล่าวรวมถึงความสามารถในการสร้างและลบโฮสต์เสมือน และตั้งค่าพร็อพเพอร์ตี้ทั้งหมดในโฮสต์เสมือน
ลูกค้า Cloud ทุกคนทั้งแบบชำระเงินและผ่านการประเมินจะมีสิทธิ์ควบคุมการกำหนดค่าปลายทาง/เซิร์ฟเวอร์เป้าหมายอย่างสมบูรณ์ นอกจากนี้ ลูกค้า Cloud แบบชำระเงินยังควบคุมโฮสต์เสมือน รวมถึงพร็อพเพอร์ตี้ TLS ได้อย่างสมบูรณ์
การจัดการใบรับรองที่หมดอายุแล้ว
หากใบรับรอง TLS หมดอายุหรือการกำหนดค่าระบบเปลี่ยนแปลงจนทำให้ใบรับรองใช้ไม่ได้อีกต่อไป คุณจะต้องอัปเดตใบรับรอง เมื่อกำหนดค่า TLS สำหรับโฮสต์เสมือนหรือเซิร์ฟเวอร์ปลายทาง/เป้าหมายเป้าหมาย คุณควรตัดสินใจวิธีอัปเดตดังกล่าวก่อนที่จะกำหนดค่าใดๆ
เมื่อใบรับรองหมดอายุ
ใน Edge คุณจะจัดเก็บใบรับรองไว้ที่ 1 ใน 2 ที่ต่อไปนี้
- คีย์สโตร์ - มีใบรับรอง TLS และคีย์ส่วนตัวที่ใช้ระบุเอนทิตีระหว่างแฮนด์แฮนด์ TLS
- Truststore - มีใบรับรองที่เชื่อถือได้บนไคลเอ็นต์ TLS ที่ใช้ตรวจสอบใบรับรองของเซิร์ฟเวอร์ TLS ที่แสดงต่อไคลเอ็นต์ โดยทั่วไปใบรับรองเหล่านี้จะเป็นใบรับรองแบบ Self-signed ใบรับรองที่ลงชื่อโดย CA ที่เชื่อถือได้ หรือใบรับรองที่ใช้เป็นส่วนหนึ่งของ TLS แบบ 2 ทาง
เมื่อใบรับรองในคีย์สโตร์หมดอายุ และคุณกำลังใช้การอ้างอิงไปยังคีย์สโตร์ คุณจะอัปโหลดใบรับรองใหม่ไปยังคีย์สโตร์ไม่ได้ แต่คุณจะทำสิ่งต่อไปนี้แทน
- สร้างคีย์สโตร์ใหม่
- อัปโหลดใบรับรองใหม่ไปยังคีย์สโตร์ใหม่โดยใช้ชื่อแทนเดียวกันเหมือนในคีย์สโตร์เดิม
- อัปเดตข้อมูลอ้างอิงในโฮสต์เสมือนหรือปลายทางเซิร์ฟเวอร์/ปลายทางเป้าหมายเพื่อใช้คีย์สโตร์ใหม่
เมื่อใบรับรองใน Truststore หมดอายุและคุณใช้การอ้างอิงไปยัง Truststore คุณจะทำสิ่งต่อไปนี้
- สร้าง Truststore ใหม่
- อัปโหลดใบรับรองใหม่ไปยัง Truststore ใหม่ ชื่อแทนนี้ไม่สำคัญสำหรับ Truststore หมายเหตุ: หากใบรับรองเป็นส่วนหนึ่งของเชน คุณต้องสร้างไฟล์เดียวที่มีใบรับรองทั้งหมด แล้วอัปโหลดไฟล์นั้นไปยังชื่อแทนเดียว หรืออัปโหลดใบรับรองทั้งหมดในเชนแยกต่างหากไปยัง Truststore โดยใช้ชื่อแทนอื่นสำหรับใบรับรองแต่ละรายการ
- อัปเดตข้อมูลอ้างอิงในโฮสต์เสมือนหรือปลายทางเซิร์ฟเวอร์/ปลายทางเป้าหมายเพื่อใช้ Truststore ใหม่
สรุปวิธีอัปเดตใบรับรองที่หมดอายุ
เมธอดที่คุณใช้ระบุชื่อของคีย์สโตร์และ Truststore ในโฮสต์เสมือนหรือเซิร์ฟเวอร์ปลายทาง/ปลายทางเป้าหมายจะกำหนดวิธีที่คุณอัปเดตใบรับรอง คุณสามารถใช้สิ่งต่อไปนี้
- รายการอ้างอิง
- ชื่อโดยตรง
- ตัวแปรโฟลว์
ซึ่งแต่ละวิธีล้วนส่งผลต่อกระบวนการอัปเดตที่แตกต่างกัน ดังที่อธิบายไว้ในตารางต่อไปนี้ คุณจะเห็นได้ว่าข้อมูลอ้างอิงให้ความยืดหยุ่นสูงสุดสำหรับทั้งลูกค้า Cloud และ Private Cloud ดังนี้
ประเภทการกำหนดค่า | วิธีอัปเดต/แทนที่ใบรับรอง | Private Cloud | Cloud |
---|---|---|---|
ข้อมูลอ้างอิง (แนะนำ) |
สำหรับคีย์สโตร์ ให้สร้างคีย์สโตร์ใหม่ด้วยชื่อใหม่ และชื่อแทนที่มีชื่อเดียวกันกับชื่อแทนเดิม
สำหรับ Truststore ให้สร้าง Truststore ด้วยชื่อใหม่ |
อัปเดตการอ้างอิงไปยังคีย์สโตร์หรือ Truststore
ไม่จำเป็นต้องรีสตาร์ทเราเตอร์หรือตัวประมวลผลข้อความ |
อัปเดตการอ้างอิงไปยังคีย์สโตร์หรือ Truststore
ไม่จำเป็นต้องติดต่อทีมสนับสนุนของ Apigee |
โฟลว์ตัวแปร (ปลายทางเป้าหมายเท่านั้น) |
สำหรับคีย์สโตร์ ให้สร้างคีย์สโตร์ใหม่ด้วยชื่อใหม่ และชื่อแทนที่มีชื่อเดียวกันหรือด้วยชื่อใหม่
สำหรับ Truststore ให้สร้าง Truststore ด้วยชื่อใหม่ |
ส่งตัวแปรขั้นตอนที่อัปเดตในคำขอแต่ละรายการด้วยชื่อของคีย์สโตร์ ชื่อแทน หรือ Truststore ใหม่
ไม่จำเป็นต้องรีสตาร์ทเราเตอร์หรือตัวประมวลผลข้อความ |
ส่งตัวแปรขั้นตอนที่อัปเดตในคำขอแต่ละรายการด้วยชื่อของคีย์สโตร์ ชื่อแทน หรือ Truststore ใหม่
ไม่จำเป็นต้องติดต่อทีมสนับสนุนของ Apigee |
Direct | สร้างคีย์สโตร์, ชื่อแทน, Truststore ใหม่ |
อัปเดตโฮสต์เสมือนและรีสตาร์ทเราเตอร์
หากเซิร์ฟเวอร์ปลายทาง/ปลายทางเป้าหมายใช้ Truststore ให้ทำให้พร็อกซีใช้งานได้อีกครั้ง |
สำหรับโฮสต์เสมือน โปรดติดต่อทีมสนับสนุนของ Apigee Edge เพื่อรีสตาร์ทเราเตอร์
หากเซิร์ฟเวอร์ปลายทาง/ปลายทางเป้าหมายใช้ Truststore ให้ทำให้พร็อกซีใช้งานได้อีกครั้ง |
Direct | ลบคีย์สโตร์หรือ Truststore แล้วสร้างใหม่ด้วยชื่อเดียวกัน |
ไม่จำเป็นต้องอัปเดตโฮสต์เสมือน ไม่จำเป็นต้องรีสตาร์ทเราเตอร์ อย่างไรก็ตาม คำขอ API จะล้มเหลวจนกว่าจะมีการกำหนดคีย์สโตร์และชื่อแทนใหม่
หากมีการใช้คีย์สโตร์สำหรับ TLS แบบ 2 ทางระหว่าง Edge และบริการแบ็กเอนด์ ให้รีสตาร์ท ตัวประมวลผลข้อความ |
ไม่ต้องอัปเดตโฮสต์เสมือน อย่างไรก็ตาม คำขอ API จะล้มเหลวจนกว่าจะมีการกำหนดคีย์สโตร์และชื่อแทนใหม่
หากมีการใช้คีย์สโตร์สำหรับ TLS แบบ 2 ทางระหว่าง Edge และบริการแบ็กเอนด์ โปรดติดต่อทีมสนับสนุนของ Apigee Edge เพื่อรีสตาร์ทตัวประมวลผลข้อความ |
Direct | สำหรับ Truststore เท่านั้น ให้อัปโหลดใบรับรองใหม่ไปยัง Truststore |
หากโฮสต์เสมือนใช้ Truststore ให้รีสตาร์ทเราเตอร์
หากเซิร์ฟเวอร์ปลายทาง/เป้าหมายเป้าหมายใช้ Truststore ให้รีสตาร์ทตัวประมวลผลข้อความ |
สำหรับโฮสต์เสมือน โปรดติดต่อทีมสนับสนุนของ Apigee Edge เพื่อรีสตาร์ทเราเตอร์ Edge
หากเซิร์ฟเวอร์ปลายทาง/เป้าหมายใช้ Truststore โปรดติดต่อทีมสนับสนุนของ Apigee Edge เพื่อรีสตาร์ทตัวประมวลผลข้อความ |