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

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

เมื่อวันอังคารที่ 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

ในนโยบาย RaiseFault มีองค์ประกอบใหม่ 2 อย่างเพื่อทำให้การจัดการ 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 และคุณใช้นโยบาย KeyValueMapEnforcements เพื่อดึงค่าและกำหนดให้กับตัวแปรที่แสดงที่นี่

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

API Monitoring จะมี 2 บทบาท ได้แก่ ผู้ดูแลระบบ API Monitoring และผู้ใช้ API Monitoring ที่อธิบายไว้ใน Access API Monitoring โดยจะพร้อมใช้งานในเดือนธันวาคม 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 กำลังดำเนินการโดยไม่ถูกปฏิเสธจากพูลเทรด

131331305 บริการหลัก

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

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

ข้อผิดพลาด 404 ที่ไม่ต่อเนื่องในบางองค์กร

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

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

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

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

119816218 รันไทม์ของ API แคชการตอบกลับจะไม่สนใจส่วนหัวที่หมดอายุหากเปลี่ยนเป็น 0 หรือตัวเลขติดลบ
119770242 รันไทม์ของ API การสื่อสารของเราเตอร์ไปยัง MP ล้มเหลวทำให้ช่วงพักสมบูรณ์: ข้อผิดพลาดใน PostClientFlow ทำให้เกิดการวนซ้ำแบบไม่สิ้นสุด
119443145 เซิร์ฟเวอร์การจัดการ พร็อกซี API แสดงผล 404 เมื่อเปลี่ยนชื่อ ProxyEndpoint และทำให้ใช้งานได้อีกครั้ง
119260281 รันไทม์ของ API \"แยกวิเคราะห์ข้อผิดพลาดในบันทึก string3000.0\" ไม่ได้
118743407 เซิร์ฟเวอร์การจัดการ ระยะเวลาการติดตั้งใช้งานพร็อกซี Apigee
118447966 รันไทม์ของ API ข้อผิดพลาดเกี่ยวกับข้อความไฮไลต์ JavaScript ภายใต้ MP รุ่น 180608_07
117549719 รันไทม์ของ API URI คำขอและเส้นทางฐานพร็อกซีไม่ตรงกัน
117219520 รันไทม์ของ API MessageLoking: ตัวบันทึก Syslog ใช้รูปแบบวันที่ที่ไม่ถูกต้องเป็นค่าเริ่มต้น ซึ่งจะแสดงเป็นมิลลิวินาทีที่ไม่ถูกต้อง
117116435 รันไทม์ของ API ข้อผิดพลาดที่เกิดขึ้นเป็นระยะๆ จากไฟล์ JavaScript
117091520 รันไทม์ของ API Java callouts ไม่ทำงานหลังเผยแพร่ตัวประมวลผลข้อความ 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 ส่วนขยาย(เครื่องมือเชื่อมต่อ) ปัญหาการแคชนโยบายส่วนขยายคำขอราคาเสนอ
111420263 รันไทม์ของ API ข้อยกเว้น ConcurrentModification ใน MessageLogging
110843526 เซิร์ฟเวอร์การจัดการ Management API สำหรับการสร้าง/อัปเดต Flow hook ควรตรวจสอบโฟลว์ที่แชร์
110805739 รันไทม์ของ API ไม่ได้ตั้งค่า TTL เป็น -1 ในขั้นตอน CPS เมื่อ Reuserefreshtoken เป็น True และไม่มีการตั้งค่าวันหมดอายุของโทเค็นการรีเฟรชอย่างชัดเจน
110429629 รันไทม์ของ API นโยบาย Basic Authentication จะปล่อยตัวแปร request.headers.Authorization ลงใน DebugSession
110425503 รันไทม์ของ API การโหลดซ้ำของ Nginx ทำให้เกิดปัญหาความพร้อมใช้งาน MP
110311540 รันไทม์ของ API NPE เมื่อ MP กำลังปิดลง
110161455 รันไทม์ของ API AccessEntity ควรใช้วิธีการดึงข้อมูลตามชื่อแอปแทนการดึงข้อมูลแอปทั้งหมดสำหรับองค์กร CPS
90695522 รันไทม์ของ API context.proxyRequest.asForm จะสร้าง java.lang.ArrayIndexOutOfBoundsException 1
79734096 เซิร์ฟเวอร์การจัดการ บันทึกการตรวจสอบสำหรับพร็อกซีไม่มีการกรองในพร็อกซีแล้ว
78105568 เซิร์ฟเวอร์การจัดการ การทำให้โฟลว์ที่แชร์ใช้งานได้จะไม่ปรากฏในการเรียก API การจัดการ /org/{org}/sharedflows/{sharedflow}/deployments หลังจากอัปเดตโฟลว์ที่แชร์ที่ทำให้ใช้งานได้แล้ว
77528868 ตรีม การถดถอยสามครั้ง: ออกจากสคริปต์ Server.js ด้วยรหัสสถานะ -1: ไม่พบพร็อพเพอร์ตี้ 0
73766568 รันไทม์ของ API การอัปเกรด 170213_02 เป็น 171117_01 ทำให้เวลาในการตอบสนองของพร็อกซีที่มีเป้าหมาย Trireme/โหนดเพิ่มขึ้นอย่างมาก
72710481 รันไทม์ของ API CacheServiceImpl/CacheMemoryLimiter NullPointerException
68861063 รันไทม์ของ API จัดการ NPE ระหว่างการปิดเราเตอร์
68833699 รันไทม์ของ API บางครั้งข้อมูลเกี่ยวกับพร็อกซี API ไม่ถูกนำออกจากแผนผังการแยกประเภท API
67377575 เป้าหมายที่โฮสต์ บันทึกการวิเคราะห์กับข้อมูลที่ส่งไปยังลูกค้าในพร็อกซี Node.js ไม่ตรงกัน
112481174 เป้าหมายที่โฮสต์ อย่ายกเลิกการทำให้พร็อกซีใช้งานได้เนื่องจากข้อผิดพลาดของ Turbo
117171470 เป้าหมายที่โฮสต์ แก้ไขข้อความแสดงข้อผิดพลาด app.yaml ที่ไม่ถูกต้อง
67169139 รันไทม์ของ API รูปแบบการประทับเวลา syslog ของนโยบาย MessageLยิ่งขึ้น ไม่ถูกต้อง
67165418 รันไทม์ของ API ข้อผิดพลาดเกี่ยวกับการอนุญาตให้ใช้สิทธิเนื่องจากมีการใช้ตัวประมวลผลข้อความเพิ่มเติมแม้ว่าจะใช้โปรแกรมน้อยกว่าที่ได้รับอนุญาต

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

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