19.03.01 - บันทึกประจำรุ่นของ Apigee Edge สำหรับระบบคลาวด์สาธารณะ

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

เมื่อวันอังคารที่ 3 ธันวาคม 2019 เราได้เริ่มเผยแพร่การอัปเดต Apigee Edge เวอร์ชันนี้สำหรับ Public Cloud (เผยแพร่ครั้งแรกเมื่อวันพฤหัสบดีที่ 18 เมษายน 2019)

ฟีเจอร์และการอัปเดตใหม่ๆ

ฟีเจอร์และการอัปเดตใหม่ในรุ่นนี้มีดังนี้

รหัสปัญหา ชื่อคอมโพเนนต์ คำอธิบาย
Apigee เริ่มเผยแพร่การอัปเดตต่อไปนี้เมื่อวันที่ 1 ตุลาคม 2019
110995050 API Runtime

การจัดสรรภาระงาน - ควบคุมการนำเซิร์ฟเวอร์ที่ล้มเหลวออกได้มากขึ้น

เมื่อกำหนดค่า ตัวจัดสรรภาระงานสำหรับพร็อกซี API คุณจะกำหนดจำนวนความล้มเหลวในการตอบกลับ ที่เกิดขึ้นก่อนที่ระบบจะนำเซิร์ฟเวอร์ออกจากรอบการจัดสรรภาระงานได้ การตอบกลับล้มเหลว หมายความว่า Apigee ไม่ได้รับการตอบกลับจากเซิร์ฟเวอร์เป้าหมาย เมื่อเกิดเหตุการณ์นี้ขึ้น ตัวนับความล้มเหลวจะเพิ่มขึ้น 1 เมื่อ Apigee ได้รับการตอบกลับจากเป้าหมาย แม้ว่าการตอบกลับจะเป็นข้อผิดพลาด HTTP (เช่น 500) ระบบจะนับว่าเป็นการตอบกลับจากเซิร์ฟเวอร์เป้าหมาย และจะรีเซ็ตตัวนับความล้มเหลว หากต้องการช่วยให้มั่นใจว่าการตอบกลับ HTTP ที่ไม่ดี (เช่น 500) จะเพิ่มตัวนับความล้มเหลวด้วย เพื่อนำเซิร์ฟเวอร์ที่ไม่สมบูรณ์ออกจากการหมุนเวียนการจัดสรรภาระงานโดยเร็วที่สุด คุณสามารถเพิ่มองค์ประกอบ <ServerUnhealthyResponse> ใหม่ ที่มีองค์ประกอบย่อย <ResponseCode> ลงในการกำหนดค่าตัวจัดสรรภาระงาน Edge จะนับการตอบกลับที่มีรหัสเหล่านั้นเป็นการตอบกลับที่ล้มเหลวด้วย

<HTTPTargetConnection>
  <LoadBalancer>
    <Algorithm>RoundRobin</Algorithm>
    <Server name="target1" />
    <Server name="target2" />
    <ServerUnhealthyResponse>
        <ResponseCode>500</ResponseCode>
        <ResponseCode>502</ResponseCode>
        <ResponseCode>503</ResponseCode>
    </ServerUnhealthyResponse>
    <MaxFailures>5</MaxFailures>
  </LoadBalancer>
</HTTPTargetConnection>
  
  
130416715 ความปลอดภัย

การปรับปรุงนโยบาย AccessControl

นโยบาย AccessControl จะกำหนดว่าที่อยู่ IP ใดที่สามารถเรียกใช้พร็อกซี API ได้ องค์ประกอบใหม่ในนโยบายดังกล่าวจะช่วยให้นักพัฒนา API ควบคุมการระบุที่อยู่ IP ที่จะประเมินได้มากขึ้น

<IgnoreTrueClientIPHeader>: ไม่บังคับ (ค่าเริ่มต้นคือ false) เมื่อตั้งค่าเป็น "จริง" นโยบายจะไม่สนใจส่วนหัว True-Client-IP และ จะประเมินที่อยู่ IP ในส่วนหัว X-Forwarded-For ตาม ลักษณะการประเมิน X-Forwarded-For ที่คุณกำหนดค่าไว้

<AccessControl async="false" continueOnError="false"
    enabled="true" name="Access-Control-1">
    <DisplayName>Access Control-1</DisplayName>
    <IgnoreTrueClientIPHeader>true</IgnoreTrueClientIPHeader>
    ...
</AccessControl>
Apigee ได้เผยแพร่การอัปเดตต่อไปนี้เมื่อวันที่ 18 เมษายน 2019
117558815,
119856499,
110548137,
79526748,
72989449,
70712859,
69049041
API Runtime JWS และ JWT
เราได้เพิ่มนโยบายใหม่สำหรับการรองรับ JWS และปรับปรุงนโยบาย JWT ที่มีอยู่

ดูรายละเอียดได้ที่โพสต์ชุมชนนี้

122610025 API Runtime อนุญาตให้ RaiseFault ตั้งค่าเหตุผลของข้อผิดพลาดและตัวแปรที่กำหนดเองได้เช่นเดียวกับใน AssignMessage

มีองค์ประกอบใหม่ 2 รายการในนโยบาย RaiseFault เพื่อให้การจัดการ FaultRules สะอาดตาและมีประสิทธิภาพมากขึ้น

  • ShortFaultReason เป็นบูลีนที่เมื่อตั้งค่าเป็น "จริง" จะใส่ชื่อนโยบายในตัวแปร fault.reason
  • AssignVariable ซึ่งมีอยู่ใน FaultResponse จะช่วยให้คุณกำหนดการตอบกลับข้อผิดพลาดให้กับตัวแปรเพื่อให้ใช้โดยนโยบายอื่นๆ ในโฟลว์พร็อกซี API ได้
121149811 เป้าหมายที่โฮสต์ ขีดจำกัดที่บังคับใช้กับเป้าหมายที่โฮสต์

ตอนนี้เราบังคับใช้ขีดจำกัดสำหรับเป้าหมายที่โฮสต์แล้ว ดูรายละเอียดขีดจำกัดได้ที่ขีดจำกัด

117659213 API Runtime กำหนดพารามิเตอร์ช่วง IP ในนโยบาย AccessControl

ตอนนี้คุณสามารถใช้ตัวแปรเทมเพลตข้อความเพื่อตั้งค่าที่อยู่ IP และมาสก์ CIDR ในนโยบาย AccessControl ได้แล้ว ตัวอย่างเช่น หากต้องการจัดเก็บที่อยู่ IP และมาสก์ในแผนที่คีย์-ค่า (KVM) คุณสามารถดึงค่าเหล่านั้นจากตัวแปรที่ตั้งค่าไว้ในโฟลว์พร็อกซี API ได้ ซึ่งจะช่วยให้คุณเปลี่ยนค่า IP ได้ง่ายขึ้นในขณะรันไทม์โดยไม่ต้องเปลี่ยนการกำหนดค่านโยบาย

เช่น แทนที่จะเป็น

<MatchRule action="DENY">
    <SourceAddress mask="24">198.51.100.1</SourceAddress>
</MatchRule>
     

คุณสามารถกำหนดค่านโยบายได้ดังนี้ โดยสมมติว่าค่าต่างๆ จัดเก็บอยู่ใน KVM และคุณใช้นโยบาย KeyValueMapOperations เพื่อดึงค่าและกำหนดค่าเหล่านั้นให้กับ ตัวแปรที่แสดงที่นี่

<MatchRule action="DENY">
    <SourceAddress mask="{kvm.mask.ref}">{kvm.ip.ref}</SourceAddress>
</MatchRule>
     
113599885 การตรวจสอบ API บทบาทการตรวจสอบ API

การตรวจสอบ API มี 2 บทบาท ได้แก่ ผู้ดูแลระบบการตรวจสอบ API และผู้ใช้การตรวจสอบ API ซึ่งอธิบายไว้ในเข้าถึงการตรวจสอบ API ซึ่งพร้อมให้บริการในเดือนธันวาคม 2018

132256772 API Runtime เพิ่มส่วนหัว X-Apigee.Message-Timeout ลงในคำขอ

ตอนนี้ Edge จะเพิ่มส่วนหัว X-Apigee.Message-Timeout ในแต่ละคำขอ ส่วนหัวนี้ มีไว้สำหรับการใช้งานภายในของ Edge อย่าใช้ค่าในส่วนหัว X-Apigee.* ในพร็อกซี API เนื่องจากส่วนหัวเหล่านี้ไม่ได้มีไว้สำหรับลูกค้า และ Apigee สามารถนำออกหรือเปลี่ยนแปลงได้ทุกเมื่อ

78575018 Private Cloud / OPDK ข้ามเซิร์ฟเวอร์การจัดการเพื่อข้ามการลงทะเบียนที่เก็บข้อมูลเกตเวย์เมื่อมีพ็อดเกตเวย์หลายรายการ

แก้ไขข้อบกพร่อง

ข้อบกพร่องต่อไปนี้ได้รับการแก้ไขในรุ่นนี้ โดยหลักๆ แล้ว รายการนี้มีไว้สำหรับผู้ใช้ที่ต้องการตรวจสอบว่าตั๋วแจ้งปัญหาได้รับการแก้ไขแล้วหรือไม่ แต่ไม่ได้ออกแบบมาเพื่อให้ข้อมูลโดยละเอียดแก่ผู้ใช้ทุกคน

รหัสปัญหา ชื่อคอมโพเนนต์ คำอธิบาย
Apigee เริ่มเผยแพร่การแก้ไขต่อไปนี้เมื่อวันที่ 3 ธันวาคม 2019
การแก้ไขด้านความปลอดภัย
Apigee เริ่มเผยแพร่การแก้ไขต่อไปนี้เมื่อวันที่ 29 ตุลาคม 2019
139381794 เซิร์ฟเวอร์การจัดการ

จัดการข้อผิดพลาดในการลบที่เก็บคีย์เพื่อให้การเรียก API ไม่ล้มเหลว

Apigee เริ่มเผยแพร่การแก้ไขต่อไปนี้เมื่อวันที่ 1 ตุลาคม 2019
140761319 API Runtime

x-apigee.edge.execution.sense.action จะตั้งค่าเป็น null เสมอ

139091614 API Runtime

ในนโยบาย ResponseCache, NIOTheread จะทํางานโดยไม่มีการปฏิเสธจาก Thread Pool

131331305 บริการหลัก

การส่งออกบันทึกหลายรายการในเราเตอร์ Apigee ทำให้มีการใช้งาน CPU สูง

136690640 API Runtime

ข้อผิดพลาด 404 เป็นระยะๆ ในบางองค์กร

140948100 API Runtime

โฟลว์ที่แชร์ที่ใช้งานอยู่ไม่ทำงานในเครื่องมือประมวลผลข้อความบางรายการ

Apigee ได้เผยแพร่การแก้ไขต่อไปนี้เมื่อวันที่ 13 กันยายน 2019
132654321 เซิร์ฟเวอร์การจัดการ บันทึกการตรวจสอบไม่แสดงข้อมูล
131246911 เซิร์ฟเวอร์การจัดการ สำหรับอีเมลนักพัฒนาแอปในพอร์ทัล ให้เปิดใช้การรองรับโดเมนใหม่กว่า เช่น *.games, *.asia
Apigee ได้เผยแพร่การแก้ไขต่อไปนี้เมื่อวันที่ 18 เมษายน 2019
123844598 เซิร์ฟเวอร์การจัดการ หลังจากผ่านไป 24 ชั่วโมงแล้ว คุณจะนำเข้าคีย์แอปที่ลบไปแล้วอีกครั้งไม่ได้
123588156 API Runtime การนำส่วนหัว Content-Length ออกจากการตอบกลับล้มเหลวด้วย 304
122732400 API Runtime การตั้งค่า api.timeout จะลบล้าง io.timeout.millis
122545281 API Runtime การมาสก์ข้อมูล DebugSession สำหรับ JSON ควรพิจารณากรณีที่ jsonPayload เป็นอาร์เรย์
122355807 เซิร์ฟเวอร์การจัดการ ลักษณะการทำงานของสิทธิ์ที่ไม่ถูกต้องสำหรับผู้ใช้ที่มีหลายบทบาท
121393556 API Runtime x_apigee_fault_code ตั้งค่าเป็น "org/codehaus/jackson/map/ObjectMapper"
120998548 UI ของ Edge ข้อความแสดงข้อผิดพลาดที่พิมพ์ผิด: ใบรับรองไม่ถูกต้องหรือไม่น่าเชื่อถือ
120990929 API Runtime การตอบกลับ HTTP-413 จาก Nginx/Apigee-Router แสดงประเภทเซิร์ฟเวอร์
120799489 API Runtime เมื่อใช้ httpClient กับ Callback JavaScript แบบไม่พร้อมกัน httpComplete() เอาต์พุต debugsession (trace) จะปิดเสียง
120794339 API Runtime MP ที่เปลี่ยนแปลงสำหรับองค์กร
120277011 เซิร์ฟเวอร์การจัดการ ต้องมีการตรวจสอบอินพุต: ไม่สามารถติดตั้งใช้งานพร็อกซีได้หากชื่อโฮสต์ของเซิร์ฟเวอร์เป้าหมายมี **
119976417 การตรวจสอบ API การตรวจสอบ API แสดงเวลาในการตอบสนองของพร็อกซีสูง ในขณะที่ข้อมูลวิเคราะห์แสดงเวลาในการตอบสนองเป้าหมายสูง
119947481 API Runtime ในกรณีข้อยกเว้น ระบบจะบันทึกเพย์โหลดที่จะมาสก์เป็นข้อความธรรมดา
119877164 Private Cloud / OPDK เราเตอร์สร้างข้อผิดพลาด โปรแกรมประมวลผลข้อความออฟไลน์เมื่อเปิดใช้ TLS

การแก้ไขนี้จะรวมอยู่ในการเผยแพร่ Edge for Private Cloud ครั้งถัดไป

119816218 API Runtime แคชการตอบกลับจะละเว้นส่วนหัว Expires หากมีการเปลี่ยนเป็น 0 หรือตัวเลขติดลบ
119770242 API Runtime การสื่อสารจากเราเตอร์ไปยัง MP ไม่สำเร็จทำให้เกิดการหยุดทำงานโดยสมบูรณ์: ข้อผิดพลาดใน PostClientFlow ทำให้เกิดลูปที่ไม่มีที่สิ้นสุด
119443145 เซิร์ฟเวอร์การจัดการ พร็อกซี API แสดงผล 404 เมื่อเปลี่ยนชื่อและติดตั้งใช้งาน ProxyEndpoint อีกครั้ง
119260281 API Runtime ข้อผิดพลาดในบันทึก "แยกวิเคราะห์เป็นสตริง3000.0 ไม่ได้"
118743407 เซิร์ฟเวอร์การจัดการ ระยะเวลาการทําให้พร็อกซี Apigee ใช้งานได้
118447966 API Runtime ข้อผิดพลาดในข้อความแจ้ง JavaScript ใน MP รุ่น 180608_07
117549719 API Runtime URI คำขอและเส้นทางฐานของพร็อกซีไม่ตรงกัน
117219520 API Runtime MessageLogging: Syslog logger ใช้รูปแบบวันที่ที่ไม่ถูกต้องเป็นค่าเริ่มต้น แสดงมิลลิวินาทีไม่ถูกต้อง
117116435 API Runtime ข้อผิดพลาดเป็นระยะๆ จากไฟล์ JavaScript
117091520 API Runtime JavaCallout ทำงานไม่สำเร็จหลังจากเปิดตัว Message Processor เวอร์ชัน 18.06.08
116165318 API Runtime การติดตั้งใช้งานแพ็กเกจเดียวกันพร้อมกันทำให้เกิด RepositoryException
116055025 บริการ Configstore ตัวประมวลผลข้อความไม่มีโฮสต์เสมือนและแอปพลิเคชันหลังจากบูต
115614498 API Runtime ต้องการการสนับสนุนสำหรับ ILB ใน OPDK

การแก้ไขนี้จะรวมอยู่ในการเผยแพร่ Edge for Private Cloud ครั้งถัดไป

113972537 API Runtime P1 หลายรายการ - NullPointerException เกิดจากโค้ด Node.js ในพร็อกซี Trireme - 500 ข้อผิดพลาดภายในเซิร์ฟเวอร์
113904969 การสนับสนุนของ Apigee ปัญหาเกี่ยวกับการลบพร็อกซี API ในองค์กรเดโม
113554802 API Runtime การตรวจสอบการยืนยัน SAML ล้มเหลวด้วย NullPointerException
113315737 เซิร์ฟเวอร์การจัดการ การติดตั้งใช้งานพร็อกซีไม่สำเร็จเนื่องจากไม่มีบันทึกการติดตั้งใช้งานใน Zookeeper
112767195 API Runtime ข้อผิดพลาดของ DataStore เป็นระยะๆ ขณะเข้าถึงนโยบาย KVM
112162179 API Runtime การแคชออบเจ็กต์ JavaScript โดยไม่แปลงเป็นสตริงอาจทำให้เกิดภาวะหยุดชะงัก
111860576 API Runtime ข้อผิดพลาดที่ขาดหายไปในนโยบายโควต้า
111671525 เป้าหมายที่โฮสต์ โค้ดตอบกลับที่ไม่สำเร็จจากเป้าหมายที่โฮสต์จะทริกเกอร์โฟลว์ข้อผิดพลาดในพร็อกซี
111523933 ส่วนขยาย(ตัวเชื่อมต่อ) ปัญหาการแคชนโยบาย ExtensionCallout
111420263 API Runtime ข้อยกเว้น ConcurrentModification ใน MessageLogging
110843526 เซิร์ฟเวอร์การจัดการ Management API สำหรับการสร้าง/อัปเดต Hook ของโฟลว์ควรตรวจสอบโฟลว์ที่แชร์
110805739 API Runtime ไม่ได้ตั้งค่า TTL เป็น -1 ในขั้นตอน CPS เมื่อ Reuserefreshtoken เป็นจริงและไม่ได้ตั้งค่าการหมดอายุของโทเค็นการรีเฟรชอย่างชัดเจน
110429629 API Runtime นโยบาย BasicAuthentication จะส่งตัวแปร request.headers.Authorization ไปยัง DebugSession
110425503 API Runtime การโหลด Nginx ซ้ำทำให้เกิดปัญหาความพร้อมใช้งานของ MP
110311540 API Runtime NPE เมื่อ MP หยุดให้บริการ
110161455 API Runtime AccessEntity ควรใช้วิธีการดึงข้อมูลตามชื่อแอปแทนการดึงข้อมูลแอปทั้งหมดสำหรับองค์กร CPS
90695522 API Runtime context.proxyRequest.asForm generates java.lang.ArrayIndexOutOfBoundsException: 1
79734096 เซิร์ฟเวอร์การจัดการ บันทึกการตรวจสอบสำหรับพร็อกซีจะไม่กรองพร็อกซีอีกต่อไป
78105568 เซิร์ฟเวอร์การจัดการ การทำให้โฟลว์ที่แชร์ใช้งานได้จะไม่แสดงในการเรียก API การจัดการ /org/{org}/sharedflows/{sharedflow}/deployments หลังจากอัปเดตโฟลว์ที่แชร์ที่ทำให้ใช้งานได้
77528868 Trireme การถดถอยของ Trireme: สคริปต์ server.js ออกจากระบบโดยมีรหัสสถานะ -1: ไม่พบพร็อพเพอร์ตี้ 0
73766568 API Runtime การอัปเกรด 170213_02 เป็น 171117_01 ทำให้เวลาในการตอบสนองของพร็อกซีที่มีเป้าหมาย Trireme/Node เพิ่มขึ้นอย่างมาก
72710481 API Runtime CacheServiceImpl/CacheMemoryLimiter NullPointerException
68861063 API Runtime จัดการ NPE ระหว่างการปิดเราเตอร์
68833699 API Runtime ข้อมูลเกี่ยวกับพร็อกซี API บางครั้งไม่ได้นำออกจากแผนผังการจัดประเภท API
67377575 เป้าหมายที่โฮสต์ ข้อมูลที่บันทึกใน Analytics ไม่ตรงกับข้อมูลที่ส่งให้ลูกค้าในพร็อกซี Node.js
112481174 เป้าหมายที่โฮสต์ อย่าทำให้การเลิกใช้งานพร็อกซีล้มเหลวเนื่องจากข้อผิดพลาดของ Turbo
117171470 เป้าหมายที่โฮสต์ แก้ไขข้อความแสดงข้อผิดพลาด app.yaml ไม่ถูกต้อง
67169139 API Runtime รูปแบบการประทับเวลา Syslog ของนโยบายการบันทึกข้อความไม่ถูกต้อง
67165418 API Runtime ข้อผิดพลาดในการออกใบอนุญาตเกี่ยวกับการใช้ตัวประมวลผลข้อความมากขึ้นแม้ว่าจะใช้จำนวนน้อยกว่าที่ได้รับอนุญาต

การแก้ไขนี้จะรวมอยู่ในการเผยแพร่ Edge for Private Cloud ครั้งถัดไป

67165195 API Runtime ValidateSAMLAssertion ไม่ได้ยืนยันลายเซ็นในการยืนยันที่ฝังอยู่ในการตอบกลับที่ลงชื่อ
66214414 API Runtime ตัวแปร currentstep.flowstate จะแสดงผล "SHARED_FLOW" เสมอเมื่ออ้างอิงจากโฟลว์ที่แชร์
65731656 API Runtime API การป้องกันภัยคุกคามล้มเหลวเป็นระยะๆ สำหรับคำขอเดียวกัน
133197060 API Runtime ได้รับข้อผิดพลาด 57 Gateway timeout จาก MP ไปยังเป้าหมาย
110535186 API Runtime ServiceCallout ที่ไม่มีองค์ประกอบ Response และ HTTPTargetConnection ที่ชี้ไปยัง พร็อกซี: บางครั้งไม่มีการเรียก
132443137 API Runtime เปลี่ยนลักษณะการทำงานของ Message Processor เพื่อไม่สนใจส่วนหัวที่ขึ้นต้นด้วย X-Apigee-* ดังนั้นคุณต้องปรับโครงสร้างโค้ดที่ใช้ส่วนหัว X-Apigee-* และแทนที่ส่วนหัวเหล่านั้นด้วยส่วนหัวที่รองรับ
125709964 API Runtime ล้างแคชด้วย purgeChildEntries ไม่ทำงานตามที่คาดไว้