คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info
Edge ช่วยให้คุณสร้างโฮสต์เสมือนที่รองรับ TLS แบบ 1 ทิศทางและ 2 ทิศทาง เมื่อใช้ TLS แบบ 1 ทิศทาง ไคลเอ็นต์จะส่งคําขอเซสชันไปยังโฮสต์เสมือนที่ติดตั้งใช้งานบน Edge Router และเราเตอร์ตอบกลับด้วยใบรับรองซึ่งมีคีย์สาธารณะของโฮสต์เสมือน สําหรับใบรับรองที่ลงนามแล้ว ไคลเอ็นต์จะส่งคําขอไปยังผู้ออกใบรับรอง (CA) เพื่อตรวจสอบสิทธิ์ใบรับรองได้
ใน TLS แบบ 2 ทาง ทั้งไคลเอ็นต์และ Edge จะส่งใบรับรองที่ตรวจสอบแล้วเป็นส่วนหนึ่งของคำขอ
- เราเตอร์ Edge จะแสดงใบรับรองของตนกับไคลเอ็นต์ TLS เพื่อตรวจสอบสิทธิ์ตนเอง ลูกค้า จากนั้นจึงยืนยันตัวตนของเซิร์ฟเวอร์ก่อนที่จะส่งใบรับรองไปยังเซิร์ฟเวอร์
- ไคลเอ็นต์ TLS จะแสดงใบรับรองต่อ Edge เพื่อตรวจสอบสิทธิ์
ดูข้อมูลเพิ่มเติมได้ที่เกี่ยวกับโฮสต์เสมือน
กำลังบันทึกข้อมูลการเชื่อมต่อ TLS
ในระหว่างที่ส่งคำขอไปยังพร็อกซี API ผ่านโฮสต์เสมือนที่รองรับ TLS นั้น Edge จะบันทึกข้อมูลเกี่ยวกับการเชื่อมต่อ TLS ได้ จากนั้นพร็อกซี API ของคุณจะสามารถเข้าถึงข้อมูลดังกล่าวผ่านทาง ของตัวแปรเพื่อดำเนินการวิเคราะห์และตรวจสอบเพิ่มเติม
ประเภทข้อมูล TLS ที่ Edge บันทึกไว้จะขึ้นอยู่กับว่าโฮสต์เสมือนรองรับ TLS แบบ 1 ทิศทางหรือ 2 ทิศทาง ตัวอย่างเช่น สําหรับ TLS แบบ 1 ทิศทาง Edge สามารถบันทึกข้อมูลเกี่ยวกับการเข้ารหัส TLS หรือโปรโตคอล TLS ที่ใช้ในการเชื่อมต่อ TLS
สำหรับ TLS แบบ 2 ทาง Edge สามารถเก็บข้อมูลทั้งหมดเดียวกับที่จับภาพสำหรับ TLS ทางเดียว และบันทึกข้อมูลเกี่ยวกับใบรับรองของลูกค้าด้วย ตัวอย่างเช่น Edge บันทึกลายนิ้วมือ SHA1 ได้ และใบรับรองไคลเอ็นต์ในรูปแบบ PEM
กำลังบันทึกข้อมูลสำหรับทั้ง 2 เวอร์ชัน TLS แบบทางเดียวและ 2 ทาง
ตารางต่อไปนี้แสดงรายการตัวแปรของโฟลว์ที่มีข้อมูลการเชื่อมต่อ TLS ที่ Edge บันทึกไว้และพร้อมให้เข้าถึงในพร็อกซี API ข้อมูลนี้จะได้รับการบันทึกสำหรับทั้งทางเดียว
และ TLS แบบ 2 ทางโดยการตั้งค่า <ConnectionProperties>
เป็น "จริง" ใน
คำจำกัดความของโฮสต์เสมือน:
ตัวแปรโฟลว์ | คำอธิบาย |
---|---|
tls.cipher
|
การเข้ารหัสที่ใช้โดยการเชื่อมต่อ TLS |
tls.protocol
|
โปรโตคอลที่การเชื่อมต่อ TLS ใช้ |
tls.server.name
|
ชื่อเซิร์ฟเวอร์ SNI ที่ขอ |
tls.session.id
|
ตัวระบุเซสชัน ตัวแปรการไหลนี้จะใช้ได้เมื่อคุณตั้งค่า |
การบันทึกข้อมูล TLS เพิ่มเติมระหว่าง TLS แบบ 2 ทาง
ตารางต่อไปนี้แสดงตัวแปรโฟลว์ที่มีรายละเอียดใบรับรองไคลเอ็นต์ที่ Edge บันทึกไว้
ใน TLS แบบ 2 ทาง ระบบจะบันทึกข้อมูลนี้สำหรับ TLS แบบ 2 ทางโดยการตั้งค่า
<ClientProperties>
เป็นจริงในคำจำกัดความของโฮสต์เสมือน
ตัวแปรการไหล | คำอธิบาย |
---|---|
tls.client.s.dn
|
ชื่อเฉพาะ (DN) ของใบรับรองไคลเอ็นต์ |
tls.client.i.dn
|
ชื่อเฉพาะ (DN) ของผู้ออกใบรับรองไคลเอ็นต์ |
tls.client.raw.cert
|
ใบรับรองไคลเอ็นต์ในรูปแบบ PEM |
tls.client.cert.serial
|
หมายเลขซีเรียลของใบรับรองไคลเอ็นต์ |
tls.client.cert.fingerprint
|
ลายนิ้วมือ SHA1 ของใบรับรองไคลเอ็นต์ |
tls.session.id
|
ตัวระบุเซสชัน ตัวแปรขั้นตอนนี้จะใช้ได้เมื่อคุณตั้งค่า
|
การกำหนดค่าโฮสต์เสมือนเพื่อบันทึกข้อมูล TLS
หากต้องการกำหนดค่าโฮสต์เสมือนเพื่อบันทึกข้อมูล TLS ให้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้
ต่ำกว่า <PropagateTLSInformation>
ถึง true
<ConnectionProperties>
: เปิดใช้การเก็บบันทึกข้อมูลการเชื่อมต่อ TLS ทั้งสำหรับ TLS แบบ 1 ทิศทางและ 2 ทิศทาง ค่าเริ่มต้นคือfalse
<ClientProperties>
: เปิดใช้การบันทึกข้อมูลเพิ่มเติม สำหรับ TLS แบบ 2 ทาง ค่าเริ่มต้นคือfalse
ตัวอย่างเช่น คําจํากัดความของโฮสต์เสมือนต่อไปนี้ใช้ TLS แบบ 2 ทางและเปิดใช้การเก็บรวบรวมข้อมูล TLS ทั้ง 2 ประเภท
<VirtualHost name="secure"> .... <SSLInfo> <Enabled>true</Enabled> # Enable two-way TLS. <ClientAuthEnabled>true</ClientAuthEnabled> <IgnoreValidationErrors>false</IgnoreValidationErrors> <KeyAlias>ks-alias</KeyAlias> <KeyStore>ref://ks-ref</KeyStore> <TrustStore>ref://ts-ref</TrustStore> </SSLInfo> <PropagateTLSInformation> <ConnectionProperties>true</ConnectionProperties> <ClientProperties>true</ClientProperties> </PropagateTLSInformation> </VirtualHost>
หากคุณส่งเนื้อหา JSON ให้ตั้งค่าพร็อพเพอร์ตี้เป็น
"propagateTLSInformation" : { "connectionProperties" : true, "clientProperties" : true }
ตั้งค่าขีดจำกัดของขนาดส่วนหัว
เมื่อคุณเปิดใช้การเก็บข้อมูล TLS ในโฮสต์เสมือน Edge จะส่งข้อมูลดังกล่าวโดยใช้ส่วนหัว HTTP ดังนั้นคุณต้องตรวจสอบว่าขีดจำกัดของขนาดส่วนหัวได้รับการตั้งค่าอย่างเหมาะสม โดยขึ้นอยู่กับว่าคุณใช้ Edge สำหรับระบบคลาวด์ หรือ Edge สำหรับ Private Cloud ดังนี้
- Edge สําหรับระบบคลาวด์: Apigee จะกําหนดขนาดส่วนหัวตามความเหมาะสม
- Edge สำหรับ Private Cloud: ฟีเจอร์ไม่พร้อมใช้งาน
การเข้าถึงตัวแปรของโฟลว์ในพร็อกซี API
คุณสามารถเข้าถึงและตรวจสอบตัวแปรของขั้นตอนการส่งผ่าน TLS ได้จากภายในพร็อกซี API เช่น คุณสามารถใช้ฟังก์ชัน AssignMessage นโยบายเพื่อเข้าถึงรายการ ให้เข้าถึงได้ใน JavaScript ด้วยนโยบาย JavaScript
คุณยังอ้างอิงตัวแปรโฟลว์ในเอลิเมนต์ <Condition>
ของพร็อกซีหรือโฟลว์เป้าหมายได้ด้วย
หรือใน <Step>
หรือ <RouteRule>
เช่น คุณอาจกำหนดเส้นทางคำขอไปยังเป้าหมายต่างๆ ตาม SN ของลูกค้า
ดูข้อมูลเพิ่มเติมได้ที่