ปัญหาที่ทราบเกี่ยวกับ Apigee

คุณกำลังดูเอกสาร 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 หรือใหม่กว่า ให้ทำตามขั้นตอนต่อไปนี้

  1. อัปเดตเซิร์ฟเวอร์การจัดการโดยทำดังนี้

    1. เปิด /opt/apigee/customer/application/management-server.properties ในโหนดเซิร์ฟเวอร์การจัดการแต่ละโหนด
    2. เพิ่มบรรทัดนี้ลงในไฟล์พร็อพเพอร์ตี้
      conf_webserver_http2.enabled=false
    3. รีสตาร์ทคอมโพเนนต์เซิร์ฟเวอร์การจัดการ:
      apigee-service edge-management-server restart
  2. อัปเดตเครื่องมือประมวลผลข้อความ โดยทำดังนี้

    1. เปิด /opt/apigee/customer/application/message-processor.properties ในโหนดตัวประมวลผลข้อความแต่ละรายการ
    2. เพิ่มบรรทัดนี้ลงในไฟล์พร็อพเพอร์ตี้
      conf_webserver_http2.enabled=false
    3. รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
      apigee-service edge-message-processor restart
  3. อัปเดตเราเตอร์ โดยทำดังนี้

    1. เปิด /opt/apigee/customer/application/router.properties ในแต่ละโหนดของเราเตอร์
    2. เพิ่มบรรทัดนี้ลงในไฟล์พร็อพเพอร์ตี้
      conf_webserver_http2.enabled=false
    3. รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
      apigee-service edge-router restart
  4. QPID ที่อัปเดต:

    1. เปิด /opt/apigee/customer/application/qpid-server.properties ในแต่ละโหนด QPID
    2. เพิ่มบรรทัดนี้ลงในไฟล์พร็อพเพอร์ตี้
      conf_webserver_http2.enabled=false
    3. รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
      apigee-service edge-qpid-server restart
  5. อัปเดต Postgres

    1. เปิด /opt/apigee/customer/application/postgres-server.properties ในโหนด Postgres แต่ละรายการ
    2. เพิ่มบรรทัดนี้ลงในไฟล์พร็อพเพอร์ตี้
      conf_webserver_http2.enabled=false
    3. รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
      apigee-service edge-postgres-server restart

หากคุณใช้ Edge สำหรับ Private Cloud เวอร์ชันเก่ากว่า 4.51.00.11 ให้ทำตามขั้นตอนต่อไปนี้

  1. อัปเดตเซิร์ฟเวอร์การจัดการโดยทำดังนี้

    1. เปิด /opt/apigee/customer/application/management-server.properties ในโหนดเซิร์ฟเวอร์การจัดการแต่ละโหนด
    2. เพิ่ม 2 บรรทัดต่อไปนี้ลงในไฟล์พร็อพเพอร์ตี้
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. รีสตาร์ทคอมโพเนนต์เซิร์ฟเวอร์การจัดการ:
      apigee-service edge-management-server restart
  2. อัปเดตเครื่องมือประมวลผลข้อความ โดยทำดังนี้

    1. เปิด /opt/apigee/customer/application/message-processor.properties ในโหนดตัวประมวลผลข้อความแต่ละรายการ
    2. เพิ่ม 2 บรรทัดต่อไปนี้ลงในไฟล์พร็อพเพอร์ตี้
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
      apigee-service edge-message-processor restart
  3. อัปเดตเราเตอร์ โดยทำดังนี้

    1. เปิด /opt/apigee/customer/application/router.properties ในแต่ละโหนดของเราเตอร์
    2. เพิ่ม 2 บรรทัดต่อไปนี้ลงในไฟล์พร็อพเพอร์ตี้
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
      apigee-service edge-router restart
  4. QPID ที่อัปเดต:

    1. เปิด /opt/apigee/customer/application/qpid-server.properties ในแต่ละโหนด QPID
    2. เพิ่ม 2 บรรทัดต่อไปนี้ลงในไฟล์พร็อพเพอร์ตี้
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
      apigee-service edge-qpid-server restart
  5. อัปเดต Postgres

    1. เปิด /opt/apigee/customer/application/postgres-server.properties ในโหนด Postgres แต่ละรายการ
    2. เพิ่ม 2 บรรทัดต่อไปนี้ลงในไฟล์พร็อพเพอร์ตี้
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. รีสตาร์ทคอมโพเนนต์ตัวประมวลผลข้อความ ดังนี้
      apigee-service edge-postgres-server restart
อัปเกรด 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

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 ทั้งหมด

  1. สร้างไฟล์พร็อพเพอร์ตี้การกำหนดค่าหากยังไม่มี ดังนี้
    /opt/apigee/customer/application/message-processor.properties
  2. เพิ่มข้อมูลต่อไปนี้ลงในไฟล์ (แทนที่ค่าของพร็อพเพอร์ตี้ 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"
  3. ตรวจสอบว่าไฟล์ /opt/apigee/customer/application/message-processor.properties เป็นของ apigee:apigee
  4. รีสตาร์ทเครื่องมือประมวลผลข้อความแต่ละตัว

หากต้องการยืนยันว่าพร็อพเพอร์ตี้ JNDI ของพูลการเชื่อมต่อกำลังมีผล คุณสามารถใช้ tcpdump เพื่อสังเกตพฤติกรรมของพูลการเชื่อมต่อ LDAP เมื่อเวลาผ่านไป

เวลาในการตอบสนองการดำเนินการตามคำขอสูง

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