คุณกำลังดูเอกสาร Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
ส่วนต่อไปนี้จะอธิบายปัญหาที่ทราบเกี่ยวกับ Apigee ในกรณีส่วนใหญ่ ปัญหาที่แสดงอยู่จะได้รับการแก้ไขในรุ่นต่อๆ ไป
ปัญหาที่ทราบเกี่ยวกับ Apigee Sense
ส่วนต่อไปนี้จะอธิบายปัญหาที่ทราบเกี่ยวกับ Apigee Sense
พื้นที่
ปัญหาที่ทราบแล้ว
TorListRule
ถูกปิดใช้
เนื่องจากยังพบปัญหาต่อเนื่อง เราจึงต้องปิดใช้กฎการตรวจจับ TorListRule
เมื่อปัญหานี้ได้รับการแก้ไขและเปิดใช้กฎอีกครั้ง เราจะเผยแพร่บันทึกประจำรุ่น
ปัญหาที่ทราบของ Edge เบ็ดเตล็ด
ส่วนต่อไปนี้จะอธิบายปัญหาเบ็ดเตล็ดเกี่ยวกับ Edge
พื้นที่
ปัญหาที่ทราบ
แคชหมดอายุทำให้ค่า cachehit
ไม่ถูกต้อง
เมื่อใช้ตัวแปรโฟลว์ cachehit
หลังนโยบาย LookupCache เนื่องจากวิธีการส่งจุดแก้ไขข้อบกพร่องสำหรับลักษณะการทำงานแบบอะซิงโครนัส LookupPolicy จะเติมออบเจ็กต์ DebugInfo ก่อนเรียกใช้การเรียกกลับ ซึ่งทำให้เกิดข้อผิดพลาด
วิธีแก้ปัญหา: ทำขั้นตอนนี้ซ้ำ (ทำการโทรครั้งที่ 2) อีกครั้งทันทีหลังจากที่โทรครั้งแรก
การตั้งค่านโยบาย invalidateCache
PurgeChildEntries
เป็น "จริง" ทํางานไม่ถูกต้อง
การตั้งค่า PurgeChildEntries
ในนโยบาย invalidateCache ควรลบค่าองค์ประกอบ KeyFragment
ออกถาวรเท่านั้น แต่จะล้างแคชทั้งหมด
วิธีแก้ปัญหา: ใช้นโยบาย KeyValueMapEnforcements เพื่อทำซ้ำการกำหนดเวอร์ชันแคชและข้ามความจำเป็นในการทำให้แคชใช้งานไม่ได้
ปัญหาที่ทราบเกี่ยวกับ Edge UI
ส่วนต่อไปนี้จะอธิบายปัญหาที่ทราบเกี่ยวกับ Edge UI
พื้นที่
ปัญหาที่ทราบ
เข้าถึงหน้าการดูแลระบบโซน SSO ของ Edge จากแถบนำทางไม่ได้หลังจากแมปองค์กรกับโซนข้อมูลประจำตัวแล้ว
เมื่อเชื่อมต่อองค์กรกับโซนข้อมูลประจำตัว คุณจะเข้าถึงหน้าการดูแลระบบโซน EDGE SSO จากแถบนำทางด้านซ้ายไม่ได้อีกต่อไปโดยเลือกผู้ดูแลระบบ > SSO ในการแก้ปัญหาเฉพาะหน้า ให้ไปที่หน้าโดยตรงโดยใช้ URL ต่อไปนี้ https://apigee.com/sso
ปัญหาที่ทราบเกี่ยวกับพอร์ทัลที่ผสานรวม
ส่วนต่อไปนี้จะอธิบายปัญหาที่ทราบเกี่ยวกับพอร์ทัลที่ผสานรวม
พื้นที่
ปัญหาที่ทราบ
SmartDocs
Apigee Edge รองรับข้อมูลจำเพาะของ OpenAPI 3.0 เมื่อคุณสร้างข้อกำหนดเฉพาะโดยใช้เครื่องมือแก้ไขข้อกำหนด และเผยแพร่ API โดยใช้ SmartDocs ในพอร์ทัลของคุณ แม้ว่าบางส่วนของฟีเจอร์จะยังไม่ได้รับการสนับสนุน
ตัวอย่างเช่น ระบบจะยังไม่รองรับฟีเจอร์จาก OpenAPI Specification 3.0 ดังต่อไปนี้
พร็อพเพอร์ตี้ allOf
สำหรับการรวมและขยายสคีมา
การอ้างอิงระยะไกล
หากมีการอ้างถึงฟีเจอร์ที่ไม่รองรับในข้อมูลจำเพาะของ OpenAPI ในบางกรณี เครื่องมือจะไม่สนใจฟีเจอร์ดังกล่าว แต่จะยังแสดงผลเอกสารอ้างอิง API อยู่ ในกรณีอื่นๆ ฟีเจอร์ที่ไม่รองรับจะทำให้เกิดข้อผิดพลาดที่ขัดขวางการแสดงผลเอกสารอ้างอิง API ได้สำเร็จ ไม่ว่าในกรณีใด คุณจะต้องแก้ไขข้อกําหนดของ OpenAPI เพื่อหลีกเลี่ยงการใช้ฟีเจอร์ที่ไม่รองรับจนกว่าจะรองรับในรุ่นต่อๆ ไป
หมายเหตุ : เนื่องจากตัวแก้ไขข้อกำหนดมีข้อจำกัดน้อยกว่า SmartDocs เมื่อแสดงผลเอกสารอ้างอิง API คุณจึงอาจได้ผลลัพธ์ที่แตกต่างกันระหว่างเครื่องมือ
เมื่อใช้ "ลองใช้ API นี้ในพอร์ทัล" ระบบจะตั้งค่าส่วนหัว Accept
เป็น application/json
ไม่ว่าชุดค่าสำหรับ consumes
ในข้อกำหนดของ OpenAPI จะเป็นอย่างไรก็ตาม
ผู้ให้บริการข้อมูลประจำตัว SAML
โดเมนที่กำหนดเองไม่รองรับการลงชื่อเพียงครั้งเดียว (SLO) ด้วยผู้ให้บริการข้อมูลประจำตัว SAML หากต้องการเปิดใช้โดเมนที่กำหนดเองด้วยผู้ให้บริการข้อมูลประจำตัว SAML ให้ปล่อยช่อง URL การออกจากระบบ ว่างไว้เมื่อคุณกำหนดการตั้งค่า SAML
ผู้ดูแลระบบพอร์ทัล
ขณะนี้ระบบยังไม่รองรับการอัปเดตพอร์ทัลพร้อมกัน (เช่น การแก้ไขหน้าเว็บ, ธีม, CSS หรือสคริปต์) โดยผู้ใช้หลายคน
หากลบหน้าเอกสารอ้างอิง API ออกจากพอร์ทัล คุณจะสร้างหน้าเอกสารอ้างอิง API ใหม่ไม่ได้ คุณจะต้องลบและเพิ่มผลิตภัณฑ์ API อีกครั้ง แล้วสร้างเอกสารประกอบข้อมูลอ้างอิง API ใหม่
เมื่อกำหนดค่านโยบายรักษาความปลอดภัยเนื้อหา ระบบอาจใช้เวลาถึง 15 นาทีเพื่อให้การเปลี่ยนแปลงมีผลอย่างสมบูรณ์
เมื่อปรับแต่งธีมพอร์ทัล ระบบอาจใช้เวลาถึง 5 นาทีก่อนที่การเปลี่ยนแปลงจะมีผลโดยสมบูรณ์
ฟีเจอร์พอร์ทัล
การค้นหาจะรวมอยู่ในพอร์ทัลที่ผสานรวมในรุ่นต่อๆ ไป
ปัญหาที่ทราบเกี่ยวกับ Edge สำหรับ Private Cloud
ส่วนต่อไปนี้จะอธิบายปัญหาที่ทราบเกี่ยวกับ Edge สำหรับ Private Cloud
พื้นที่
ปัญหาที่ทราบ
ช่องโหว่ HTTP/2 ของ Apigee
เมื่อเร็วๆ นี้พบช่องโหว่การปฏิเสธการให้บริการ (DoS) ในการใช้งานโปรโตคอล HTTP/2 หลายรายการ (CVE-2023-44487) ซึ่งรวมถึงใน Apigee Edge สำหรับ Private Cloud ด้วยเช่นกัน ช่องโหว่นี้อาจนำไปสู่ DoS ของฟังก์ชันการจัดการ Apigee API
โปรดดูรายละเอียดเพิ่มเติมที่ Apigee Security Bulletin GCP-2023-032
คอมโพเนนต์เราเตอร์ และเซิร์ฟเวอร์การจัดการ Edge for Private Cloud เปิดเผยต่ออินเทอร์เน็ตและอาจมีความเสี่ยง แม้ว่าระบบจะเปิดใช้ HTTP/2 บนพอร์ตการจัดการของคอมโพเนนต์อื่นๆ แบบเจาะจง Edge สำหรับ Private Cloud แต่คอมโพเนนต์เหล่านั้นจะไม่ปรากฏอินเทอร์เน็ต ในคอมโพเนนต์ที่ไม่ใช่ Edge เช่น Cassandra, Zookeeper และอื่นๆ ระบบจะไม่เปิดใช้ HTTP/2 เราขอแนะนำให้คุณทำตามขั้นตอนต่อไปนี้เพื่อแก้ปัญหาช่องโหว่ Edge for Private Cloud
หากคุณใช้ Edge Private Cloud เวอร์ชัน 4.51.00.11 หรือใหม่กว่า ให้ทำตามขั้นตอนต่อไปนี้
อัปเดตเซิร์ฟเวอร์การจัดการโดยทำดังนี้
เปิด /opt/apigee/customer/application/management-server.properties
ในโหนดเซิร์ฟเวอร์การจัดการแต่ละโหนด
เพิ่มบรรทัดนี้ลงในไฟล์พร็อพเพอร์ตี้ conf_webserver_http2.enabled=false
รีสตาร์ทคอมโพเนนต์เซิร์ฟเวอร์การจัดการ:
apigee-service edge-management-server restart
อัปเดตเครื่องมือประมวลผลข้อความ โดยทำดังนี้
เปิด /opt/apigee/customer/application/message-processor.properties
ในโหนดตัวประมวลผลข้อความแต่ละรายการ
เพิ่มบรรทัดนี้ลงในไฟล์พร็อพเพอร์ตี้ conf_webserver_http2.enabled=false
รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
apigee-service edge-message-processor restart
อัปเดตเราเตอร์ โดยทำดังนี้
เปิด /opt/apigee/customer/application/router.properties
ในแต่ละโหนดของเราเตอร์
เพิ่มบรรทัดนี้ลงในไฟล์พร็อพเพอร์ตี้ conf_webserver_http2.enabled=false
รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
apigee-service edge-router restart
QPID ที่อัปเดต:
เปิด /opt/apigee/customer/application/qpid-server.properties
ในแต่ละโหนด QPID
เพิ่มบรรทัดนี้ลงในไฟล์พร็อพเพอร์ตี้ conf_webserver_http2.enabled=false
รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
apigee-service edge-qpid-server restart
อัปเดต Postgres
เปิด /opt/apigee/customer/application/postgres-server.properties
ในโหนด Postgres แต่ละรายการ
เพิ่มบรรทัดนี้ลงในไฟล์พร็อพเพอร์ตี้ conf_webserver_http2.enabled=false
รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
apigee-service edge-postgres-server restart
หากคุณใช้ Edge สำหรับ Private Cloud เวอร์ชันเก่ากว่า 4.51.00.11 ให้ทำตามขั้นตอนต่อไปนี้
อัปเดตเซิร์ฟเวอร์การจัดการโดยทำดังนี้
เปิด /opt/apigee/customer/application/management-server.properties
ในโหนดเซิร์ฟเวอร์การจัดการแต่ละโหนด
เพิ่ม 2 บรรทัดต่อไปนี้ลงในไฟล์พร็อพเพอร์ตี้
conf_webserver_http2.enabled=false
conf/webserver.properties+http2.enabled=false
รีสตาร์ทคอมโพเนนต์เซิร์ฟเวอร์การจัดการ:
apigee-service edge-management-server restart
อัปเดตเครื่องมือประมวลผลข้อความ โดยทำดังนี้
เปิด /opt/apigee/customer/application/message-processor.properties
ในโหนดตัวประมวลผลข้อความแต่ละรายการ
เพิ่ม 2 บรรทัดต่อไปนี้ลงในไฟล์พร็อพเพอร์ตี้
conf_webserver_http2.enabled=false
conf/webserver.properties+http2.enabled=false
รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
apigee-service edge-message-processor restart
อัปเดตเราเตอร์ โดยทำดังนี้
เปิด /opt/apigee/customer/application/router.properties
ในแต่ละโหนดของเราเตอร์
เพิ่ม 2 บรรทัดต่อไปนี้ลงในไฟล์พร็อพเพอร์ตี้
conf_webserver_http2.enabled=false
conf/webserver.properties+http2.enabled=false
รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
apigee-service edge-router restart
QPID ที่อัปเดต:
เปิด /opt/apigee/customer/application/qpid-server.properties
ในแต่ละโหนด QPID
เพิ่ม 2 บรรทัดต่อไปนี้ลงในไฟล์พร็อพเพอร์ตี้
conf_webserver_http2.enabled=false
conf/webserver.properties+http2.enabled=false
รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
apigee-service edge-qpid-server restart
อัปเดต Postgres
เปิด /opt/apigee/customer/application/postgres-server.properties
ในโหนด Postgres แต่ละรายการ
เพิ่ม 2 บรรทัดต่อไปนี้ลงในไฟล์พร็อพเพอร์ตี้
conf_webserver_http2.enabled=false
conf/webserver.properties+http2.enabled=false
รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
apigee-service edge-postgres-server restart
หมายเหตุการอัปเกรด: หลังจากที่อัปเกรด Private Cloud เวอร์ชันเก่าเป็น 4.51.00.11 ขึ้นไป คุณสามารถนำบรรทัดที่ 2 "conf/webserver.properties+http2.enabled=false" ออกจากแต่ละไฟล์ข้างต้นและรีสตาร์ทคอมโพเนนต์ที่เกี่ยวข้องได้
อัปเกรด Postgresql เมื่ออัปเดตเป็นเวอร์ชัน 4.52
Apigee-postgresql พบปัญหาในการอัปเกรดจาก Edge สำหรับ Private Cloud เวอร์ชัน 4.50 หรือ 4.51 เป็นเวอร์ชัน 4.52 ปัญหาส่วนใหญ่จะเกิดขึ้นเมื่อจำนวนตารางมากกว่า 500 รายการ
คุณสามารถตรวจสอบจำนวนตารางทั้งหมดใน Postgres โดยการเรียกใช้การค้นหา SQL ด้านล่าง
select count(*) from information_schema.tables
วิธีแก้ปัญหา: เมื่อ
อัปเดต Apigee Edge 4.50.00 หรือ 4.51.00 เป็น 4.52.00 โปรดทำ
ขั้นตอนเบื้องต้น ก่อนอัปเกรด Apigee-postgresql
หมายเหตุ: หากไม่ทำตามวิธีแก้ปัญหาชั่วคราวนี้ การอัปเกรด Postgres อาจล้มเหลว หากเกิดเหตุการณ์นี้ ให้ใช้เวลาสแตนด์บาย PG หรือกู้คืนข้อมูลสำรองของ PG หรือ VM เพื่อย้อนกลับเป็นเวอร์ชันที่ใช้งานได้ จากนั้นดำเนินการอัปเกรดอีกครั้งโดยทำตามขั้นตอนในวิธีแก้ปัญหาเบื้องต้น
apigee-mirror
ใน RHEL 8.0
apigee-mirror
ใช้กับ Red Hat Enterprise Linux (RHEL) 8.0 ไม่ได้
วิธีแก้ปัญหา: วิธีแก้ปัญหาเบื้องต้นคือให้ติดตั้ง apigee-mirror
ในเซิร์ฟเวอร์ที่ใช้ RHEL เวอร์ชันต่ำกว่าหรือระบบปฏิบัติการที่รองรับ ตัวอื่นสำหรับ Apigee จากนั้นคุณจะใช้มิเรอร์เพื่อเพิ่มแพ็กเกจได้แม้ว่าจะติดตั้ง Apigee ในเซิร์ฟเวอร์ RHEL 8.0 แล้วก็ตาม
นโยบาย LDAP
149245401: การตั้งค่าพูลการเชื่อมต่อ LDAP สำหรับ JNDI ที่กำหนดค่าผ่านทรัพยากร LDAP จะไม่ปรากฏ และค่าเริ่มต้นของ JNDI จะทำให้เกิดการเชื่อมต่อแบบใช้ครั้งเดียวในแต่ละครั้ง
ด้วยเหตุนี้ การเชื่อมต่อจึงมีการเปิดและปิดทุกครั้งสำหรับการใช้งานครั้งเดียว ทำให้เกิดการเชื่อมต่อจำนวนมากต่อชั่วโมงไปยังเซิร์ฟเวอร์ LDAP
วิธีแก้ปัญหาเฉพาะหน้า
หากต้องการเปลี่ยนพร็อพเพอร์ตี้พูลการเชื่อมต่อ LDAP ให้ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าการเปลี่ยนแปลงส่วนกลางในนโยบาย LDAP ทั้งหมด
สร้างไฟล์พร็อพเพอร์ตี้การกำหนดค่าหากยังไม่มี ดังนี้
/opt/apigee/customer/application/message-processor.properties
เพิ่มข้อมูลต่อไปนี้ลงในไฟล์ (แทนที่ค่าของพร็อพเพอร์ตี้ Java Naming and Directory Interface (JNDI) ตามข้อกำหนดการกำหนดค่าทรัพยากร LDAP)
bin_setenv_ext_jvm_opts="-Dcom.sun.jndi.ldap.connect.pool.maxsize=20
-Dcom.sun.jndi.ldap.connect.pool.prefsize=2
-Dcom.sun.jndi.ldap.connect.pool.initsize=2
-Dcom.sun.jndi.ldap.connect.pool.timeout=120000
-Dcom.sun.jndi.ldap.connect.pool.protocol=ssl"
ตรวจสอบว่าไฟล์ /opt/apigee/customer/application/message-processor.properties
เป็นของ apigee:apigee
รีสตาร์ทเครื่องมือประมวลผลข้อความแต่ละตัว
หากต้องการยืนยันว่าพร็อพเพอร์ตี้ JNDI ของพูลการเชื่อมต่อกำลังมีผล คุณสามารถใช้ tcpdump เพื่อสังเกตพฤติกรรมของพูลการเชื่อมต่อ LDAP เมื่อเวลาผ่านไป
หมายเหตุ: พร็อพเพอร์ตี้พูลการเชื่อมต่อที่ระบุโดยขั้นตอนด้านบนเป็นพร็อพเพอร์ตี้ส่วนกลาง และมีผลกับการเชื่อมต่อ LDAP ที่เปิดใช้การเชื่อมต่อพูลทั้งหมดที่โปรแกรม Message Processor ของ Edge สร้างขึ้น
เวลาในการตอบสนองการดำเนินการตามคำขอสูง
139051927: เวลาในการตอบสนองการประมวลผลพร็อกซีสูงที่พบในตัวประมวลผลข้อความส่งผลต่อพร็อกซี API ทั้งหมด อาการต่างๆ ได้แก่ เวลาประมวลผลล่าช้า 200-300 มิลลิวินาทีมากกว่าเวลาการตอบสนองของ API ปกติ และอาจเกิดขึ้นแบบสุ่มแม้ว่าจะมี TPS ต่ำก็ตาม กรณีนี้อาจเกิดขึ้นเมื่อมีเซิร์ฟเวอร์เป้าหมายมากกว่า 50 เซิร์ฟเวอร์ที่ผู้ประมวลผลข้อความทำการเชื่อมต่อ
สาเหตุของปัญหา: ตัวประมวลผลข้อความจะเก็บแคชที่แมป URL ของเซิร์ฟเวอร์เป้าหมายกับออบเจ็กต์ HTTPClient สำหรับการเชื่อมต่อขาออกกับเซิร์ฟเวอร์เป้าหมาย โดยค่าเริ่มต้น การตั้งค่านี้จะตั้งไว้ที่ 50 ซึ่งอาจต่ำเกินไปสำหรับการทำให้ใช้งานได้ส่วนใหญ่ เมื่อการทำให้ใช้งานได้มีชุดค่าผสม org/env หลายรายการในการตั้งค่า และมีเซิร์ฟเวอร์เป้าหมายจำนวนมากที่ใช้เกิน 50 รายการ URL เซิร์ฟเวอร์เป้าหมายจะหลุดออกจากแคชต่อไป ซึ่งทำให้เกิดความล่าช้า
การตรวจสอบความถูกต้อง: หากต้องการดูว่าการปลด URL ของเซิร์ฟเวอร์เป้าหมายทำให้เกิดปัญหาเวลาในการตอบสนองหรือไม่ ให้ค้นหาคีย์เวิร์ด "onEvict" หรือ "Eviction" ใน Message Processor system.logs ในบันทึกระบุว่า URL ของเซิร์ฟเวอร์เป้าหมายถูกนำออกจากแคช HTTPClient เนื่องจากขนาดของแคชเล็กเกินไป
วิธีแก้ปัญหา: สำหรับ Edge สำหรับ Private Cloud เวอร์ชัน 19.01 และ 19.06 คุณจะแก้ไขและกำหนดค่าแคช HTTPClient /opt/apigee/customer/application/message-processor.properties
ได้ดังนี้
conf/http.properties+HTTPClient.dynamic.cache.elements.size=500
จากนั้นรีสตาร์ทโปรแกรมประมวลผลข้อความ ทำการเปลี่ยนแปลงเดียวกันสำหรับผู้ประมวลผลข้อความทั้งหมด
ตัวอย่างค่า 500 ค่าที่เหมาะสมที่สุดสำหรับการตั้งค่าควรมากกว่า
จำนวนเซิร์ฟเวอร์เป้าหมายที่ผู้ประมวลผลข้อความจะเชื่อมต่อด้วย การตั้งค่าพร็อพเพอร์ตี้นี้ให้สูงขึ้นไม่มีผลข้างเคียง และผลกระทบเพียงอย่างเดียวคือเวลาในการประมวลผลคำขอพร็อกซีเครื่องมือประมวลผลข้อความที่ได้รับการปรับปรุง
หมายเหตุ: Edge สำหรับ Private Cloud เวอร์ชัน 50.00 มีการตั้งค่าเริ่มต้นเป็น 500
รายการคีย์-ค่าหลายรายการ
157933959: การแทรกและการอัปเดตพร้อมกันของแมปค่าคีย์ (KVM) เดียวกันที่กำหนดขอบเขตอยู่ที่ระดับองค์กรหรือสภาพแวดล้อมจะทำให้ข้อมูลไม่สอดคล้องกันและการอัปเดตหายไป
หมายเหตุ: ข้อจำกัดนี้มีผลกับ Edge สำหรับ Private Cloud เท่านั้น Edge สำหรับระบบคลาวด์สาธารณะและแบบผสมไม่มีข้อจำกัดนี้
สำหรับวิธีแก้ปัญหาชั่วคราวใน Edge สำหรับ Private Cloud ให้สร้าง KVM ที่ขอบเขต apiproxy