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

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

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

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

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

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

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

เมื่อกำหนดค่า ตัวจัดสรรภาระงานสำหรับพร็อกซี 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 JWS และ JWT
เราได้เพิ่มนโยบายใหม่สำหรับการรองรับ JWS และปรับปรุงนโยบาย JWT ที่มีอยู่

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

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

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

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

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

117659213 รันไทม์ของ API กำหนดช่วง 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 เพิ่มส่วนหัว 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

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

139091614 รันไทม์ของ API

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

131331305 บริการหลัก

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

136690640 รันไทม์ของ API

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

140948100 รันไทม์ของ API

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

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

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

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

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

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

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

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