المشاكل المعروفة في Apigee

أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

توضّح الأقسام التالية المشاكل المعروفة في Apigee. في معظم الحالات، سيتم حلّ المشاكل المُدرَجة في إصدار مستقبلي.

مشاكل Edge المعروفة الأخرى

توضّح الأقسام التالية مشاكل معروفة متنوعة في Edge.

المنطقة/الملخّص المشاكل المعروفة
تؤدي انتهاء صلاحية ذاكرة التخزين المؤقت إلى ظهور قيمة cachehit غير صحيحة

عند استخدام متغيّر تدفق cachehit بعد سياسة LookupCache، بسبب طريقة إرسال نقاط تصحيح الأخطاء للسلوك غير المتزامن، تملأ LookupPolicy عنصر DebugInfo قبل تنفيذ طلب الاستدعاء، ما يؤدي إلى حدوث خطأ.

الحلّ: كرِّر العملية (إجراء مكالمة ثانية) مرة أخرى بعد المكالمة الأولى مباشرةً.

ضبط سياسة InvalidateCache PurgeChildEntries على "صحيح" لا يعمل بشكل صحيح

من المفترض أن يؤدي ضبط القيمة PurgeChildEntries في سياسة InvalidateCache إلى محو قيم عنصر KeyFragment فقط، ولكن يتم محو ذاكرة التخزين المؤقت بالكامل.

الحلّ: استخدِم سياسة KeyValueMapOperations للتنقّل في إصدارات ذاكرة التخزين المؤقت وتجاوز الحاجة إلى إلغاء صلاحية ذاكرة التخزين المؤقت.

يمكن أن تؤدي طلبات النشر المتزامنة لمسار SharedFlow أو وكيل واجهة برمجة التطبيقات إلى حالة غير متّسقة في "خادم الإدارة" حيث يتم عرض نُسخ متعددة على أنّها منشورة.

يمكن أن يحدث ذلك، مثلاً، عند إجراء عمليات تشغيل متزامنة لقناة النشر في عملية التطوير/النشر باستخدام نُسخ مختلفة. لتجنّب هذه المشكلة، تجنَّب نشر أدوات الربط بين واجهة برمجة التطبيقات أو SharedFlows قبل اكتمال عملية النشر الحالية.

الحلّ البديل: تجنَّب عمليات نشر واجهة برمجة التطبيقات الوكيلة أو SharedFlow المتزامنة.

قد تحتوي أعداد طلبات البيانات من واجهة برمجة التطبيقات المعروضة في إحصاءات Edge API على بيانات مكرّرة.

يمكن أن تحتوي "إحصاءات Edge API" أحيانًا على بيانات مكرّرة لطلبات البيانات من واجهة برمجة التطبيقات. وفي هذه الحالة، تكون الأعداد المعروضة لطلبات بيانات من واجهة برمجة التطبيقات في Edge API Analytics أعلى من القيم المماثلة المعروضة في أدوات الإحصاءات التابعة لجهات خارجية.

الحلّ البديل: تصدير بيانات الإحصاءات واستخدام الحقل gateway_flow_id لإزالة تكرار البيانات

المشاكل المعروفة في واجهة مستخدم Edge

توضح الأقسام التالية المشكلات المعروفة في واجهة مستخدم Edge.

المساحة المشاكل المعروفة
يتعذّر الوصول إلى صفحة إدارة منطقة الدخول الموحَّد (SSO) على Edge من شريط التنقل بعد ربط المؤسسة بمنطقة هوية. عند ربط مؤسسة بمنطقة هوية، لن تتمكّن بعد ذلك من الوصول إلى صفحة إدارة منطقة الدخول المُوحَّد (SSO) على Edge من شريط التنقل الأيمن من خلال اختيار المشرف > الدخول المُوحَّد (SSO). كحل بديل، يمكنك الانتقال إلى الصفحة مباشرةً باستخدام عنوان URL التالي: https://apigee.com/sso

المشاكل المعروفة في البوابة المدمجة

توضّح الأقسام التالية المشاكل المعروفة في البوابة المدمجة.

المساحة المشاكل المعروفة
SmartDocs
  • تتوافق Apigee Edge مع مواصفات OpenAPI 3.0 عند إنشاء المواصفات باستخدام محرِّر المواصفات و نشر واجهات برمجة التطبيقات باستخدام SmartDocs على البوابة، على الرغم من أنّ مجموعة فرعية من الميزات غير متاحة بعد.

    على سبيل المثال، الميزات التالية من مواصفات OpenAPI 3.0 غير متاحة بعد:

    • allOf خصائص لدمج المخططات وتوسيع نطاقها
    • المراجع البعيدة

    إذا تمت الإشارة إلى ميزة غير متوافقة في مواصفات OpenAPI، ستتجاهل الأدوات الميزة في بعض الحالات، ولكن ستظل تعرِض مستندات مرجعية لواجهة برمجة التطبيقات. وفي حالات أخرى، ستؤدي الميزة غير المتوافقة إلى ظهور أخطاء تمنع المعالجة الناجحة لمستندات مرجع واجهة برمجة التطبيقات. وفي كلتا الحالتَين، عليك تعديل مواصفات OpenAPI لتجنُّب استخدام الميزة غير المتوافقة إلى أن تصبح متوافقة في إصدار مستقبلي.

    ملاحظة: بما أنّ محرِّر المواصفات أقل تقييدًا من SmartDocs عند عرض مستندات مرجعية لواجهة برمجة التطبيقات، قد تلاحظ نتائج مختلفة بين الأداتَين.

  • عند استخدام ميزة "تجربة واجهة برمجة التطبيقات هذه" في البوابة، يتم ضبط رأس Accept على application/json بغض النظر عن القيمة التي تم ضبطها لـ consumes في مواصفات OpenAPI.
  • ‎138438484: لا تتوفّر إمكانية استخدام خوادم متعددة.
موفِّر الهوية عبر SAML لا تتوفّر ميزة "تسجيل الخروج الفردي" (SLO) باستخدام موفِّر الهوية SAML لنطاقات الويب المخصّصة. لتفعيل نطاق مخصّص باستخدام موفِّر هوية SAML، اترك الحقل عنوان URL لتسجيل الخروج فارغًا عند ضبط إعدادات SAML.
مشرف البوابة
  • لا تتوفّر حاليًا إمكانية إجراء تعديلات متزامنة على البوابة (مثل تعديلات الصفحة أو المظهر أو CSS أو النصوص البرمجية) من قِبل مستخدمين متعدّدين.
  • إذا حذفت صفحة مستندات مرجعية لواجهة برمجة التطبيقات من البوابة، لن تتمكّن من إعادة إنشائها. عليك حذف منتج واجهة برمجة التطبيقات وإعادة إضافته، ثم إعادة إنشاء مستندات مرجعية لواجهة برمجة التطبيقات.
  • عند ضبط سياسة أمان المحتوى، قد يستغرق تطبيق التغييرات بالكامل مدة تصل إلى 15 دقيقة.
  • عند تخصيص مظهر البوابة، قد يستغرق تطبيق التغييرات بالكامل مدة تصل إلى 5 دقائق.
ميزات البوابة الإلكترونية
  • سيتم دمج ميزة البحث في البوابة المدمجة في إصدار مستقبلي.

المشاكل المعروفة في Edge for Private Cloud

توضّح الأقسام التالية المشاكل المعروفة في Edge for Private Cloud.

منطقة المشاكل المعروفة
‫Edge for Private Cloud 4.53.01 تقييم الثغرات الأمنية في NGINX ‏ (CVE-2026-42945)

تم الكشف عن ثغرة أمنية (CVE-2026-42945) تؤثر في ngx_http_rewrite_module في NGINX. قد تضع أدوات الفحص الأمني علامة على ملفات NGINX الثنائية المضمّنة في Apigee Edge for Private Cloud لأنّ هذا الوحدة يتم تجميعها بشكل ثابت في NGINX.

التأثير على Apigee Edge for Private Cloud:

لا يتأثر Apigee Edge for Private Cloud بهذه الثغرة الأمنية في الإعدادات التلقائية التي يتم شحنها. تعتمد إمكانية استغلال الثغرة CVE-2026-42945 على أنماط إعدادات NGINX معيّنة، لا سيما استخدام توجيه rewrite في تسلسل معيّن. لا تتوفّر هذه الأنماط في أيّ من إعدادات NGINX العادية في Apigee Edge for Private Cloud.

الإجراء المطلوب:

  • بالنسبة إلى الإعدادات التلقائية في Apigee Edge for Private Cloud: لا يلزم تطبيق أي تصحيحات أو إجراء أي ترقيات أو تغييرات تشغيلية. يمكن اعتبار نتائج الفحص المتعلقة بالثغرة CVE-2026-42945 نتائج موجبة خاطئة لعمليات التثبيت التلقائية. يمكنك استخدام النص التالي لتسجيل هذا الاستثناء في نظام إدارة الثغرات الأمنية:

    CVE-2026-42945 — Accepted exception (false positive for Apigee Edge for Private Cloud). Apigee Edge for Private Cloud does not use the rewrite directive in any shipped NGINX configuration. The vulnerable code path in ngx_http_rewrite_module is configuration-gated and is not reachable in the default Apigee Edge for Private Cloud deployment.

  • بالنسبة إلى إعدادات NGINX المخصّصة: إذا عدّلت ملفات إعدادات NGINX يدويًا ضمن عملية تثبيت Apigee Edge for Private Cloud (على سبيل المثال، ضمن /opt/nginx)، عليك إجراء الفحص الذاتي التالي للتأكّد من أنّ التخصيصات لم تُدخِل عن غير قصد النمط المعرّض للخطر:
    1. البحث عن توجيه إعادة الكتابة: على كل عقدة NGINX، شغِّل الأمر:
      sudo grep -rnI '^\s*rewrite\b' /opt/nginx
    2. تحليل النتائج:
      • إذا لم يعرض الأمر أي نتائج، لن يتأثر نظامك.
      • إذا تم العثور على تطابقات، راجِع كلّ حالة. لا تكون الثغرة الأمنية موجودة إلا إذا تم استيفاء جميع الشروط التالية لكتلة معيّنة:
        • يتم استخدام توجيه rewrite.
        • يتبعه مباشرةً توجيه آخر من rewrite أو if أو set ضمن كتلة الإعدادات نفسها.
        • يتم استخدام مجموعة التقاط غير مسماة في PCRE (على سبيل المثال، $1 أو $2 وما إلى ذلك) في التوجيهات.
        • يحتوي السلسلة البديلة في التوجيه على علامة استفهام (?).
    3. تخفيف المخاطر (إذا كانت الثغرة الأمنية موجودة): إذا كانت جميع الشروط أعلاه صحيحة لأي جزء من الإعدادات المخصّصة، يمكنك تخفيف المخاطر من خلال:
      • إزالة علامة الاستفهام (?) من السلسلة البديلة.
      • استخدام مجموعات التقاط مسماة في PCRE بدلاً من المجموعات غير المسماة.
      • إعادة تقييم الحاجة إلى التوجيهات المتسلسلة.
‫Edge for Private Cloud 4.53.00 ‫440148595: يتم عرض التحذير المنبثق "نهاية العمر الافتراضي" بشكل مفرط

في Edge for Private Cloud 4.53.00 والإصدارات الأحدث، تعرض واجهة المستخدِم "نهاية العمر الافتراضي" (EOL) تحذيرًا منبثقًا. يظهر هذا التحذير بشكل متكرّر
ولا يمكن منعه أو تقليل وتيرة ظهوره.

لا تتوفّر حاليًا أي طريقة للمستخدمين لإيقاف هذا التحذير أو تقليل وتيرة ظهوره.

‫Edge for Private Cloud 4.53.01
وسائل الشرح في Java

قد تفشل وسائل الشرح المخصّصة في Java التي تحاول تحميل موفّر التشفير Bouncy Castle باستخدام الاسم "BC" لأنّه تم تغيير الموفّر التلقائي إلى Bouncy Castle FIPS لدعم معيار FIPS. اسم الموفّر الجديد الذي يجب استخدامه هو "BCFIPS".

‫Edge for Private Cloud 4.53.00
وسائل الشرح في Java

قد تفشل وسائل الشرح المخصّصة في Java التي تحاول تحميل موفّر التشفير Bouncy Castle باستخدام الاسم "BC" لأنّه تم تغيير الموفّر التلقائي إلى Bouncy Castle FIPS لدعم معيار FIPS. اسم الموفّر الجديد الذي يجب استخدامه هو "BCFIPS".

‫Edge for Private Cloud 4.52.01 Mint update

لا تؤثر هذه المشكلة إلا في المستخدمين الذين يستخدِمون MINT أو الذين فعّلوا MINT في عمليات تثبيت Edge for Private Cloud.

المكوِّن المتأثر: edge-message-processor

المشكلة: إذا فعّلت ميزة تحقيق الربح وكنت تثبِّت الإصدار 4.52.01 كعملية تثبيت جديدة أو ترقّي من إصدارات Private Cloud السابقة، ستواجه مشكلة في معالِجات الرسائل. سيحدث ارتفاع تدريجي في عدد سلاسل المحادثات المفتوحة، ما يؤدي إلى استنفاد الموارد. يظهر الاستثناء التالي في system.log الخاص بـ edge-message-processor:

Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread
الثغرة الأمنية في HTTP/2 في Apigee

تم مؤخرًا اكتشاف ثغرة أمنية تؤدي إلى حجب الخدمة (DoS) في عمليات تنفيذ متعدّدة لبروتوكول HTTP/2 ‏ (CVE-2023-44487)، بما في ذلك في Apigee Edge for Private Cloud. يمكن أن تؤدي الثغرة الأمنية إلى حجب الخدمة لوظائف إدارة واجهة برمجة التطبيقات في Apigee. لمزيد من التفاصيل، يُرجى الاطّلاع على نشرة Apigee الأمنية GCP-2023-032.

إنّ مكوّنَي الموجِّه وخادم الإدارة في Edge for Private Cloud معرّضان للـ إنترنت ويمكن أن يكونا عرضة للخطر. على الرغم من أنّ بروتوكول HTTP/2 مفعّل على منفذ الإدارة لمكوّنات أخرى خاصة بـ Edge في Edge for Private Cloud، لا يتم عرض أيّ من هذه المكوّنات على الإنترنت. في المكوّنات غير التابعة لـ Edge، مثل Cassandra وZookeeper وغيرها، لا يكون بروتوكول HTTP/2 مفعّلاً. ننصحك باتّباع الخطوات التالية لمعالجة الثغرة الأمنية في Edge for Private Cloud:

اتّبِع الخطوات التالية إذا كنت تستخدِم الإصدارات 4.51.00.11 أو الأحدث من Edge Private Cloud:

  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. على كل عقدة من QPID، افتح الملف /opt/apigee/customer/application/qpid-server.properties
    2. أضِف هذا السطر إلى ملف الخصائص:
      conf_webserver_http2.enabled=false
    3. أعِد تشغيل مكوّن معالِج الرسائل:
      apigee-service edge-qpid-server restart
  5. تعديل Postgres:

    1. على كل عقدة من Postgres، افتح الملف /opt/apigee/customer/application/postgres-server.properties
    2. أضِف هذا السطر إلى ملف الخصائص:
      conf_webserver_http2.enabled=false
    3. أعِد تشغيل مكوّن معالِج الرسائل:
      apigee-service edge-postgres-server restart

اتّبِع الخطوات التالية إذا كنت تستخدِم الإصدارات الأقدم من 4.51.00.11 من Edge for Private Cloud:

  1. تعديل خادم الإدارة:

    1. على كل عقدة من خادم الإدارة، افتح الملف /opt/apigee/customer/application/management-server.properties
    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. أضِف السطرَين التاليَين إلى ملف الخصائص:
      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. أضِف السطرَين التاليَين إلى ملف الخصائص:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. أعِد تشغيل مكوّن معالِج الرسائل:
      apigee-service edge-router restart
  4. تعديل QPID:

    1. على كل عقدة من QPID، افتح الملف /opt/apigee/customer/application/qpid-server.properties
    2. أضِف السطرَين التاليَين إلى ملف الخصائص:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. أعِد تشغيل مكوّن معالِج الرسائل:
      apigee-service edge-qpid-server restart
  5. تعديل Postgres:

    1. على كل عقدة من Postgres، افتح الملف /opt/apigee/customer/application/postgres-server.properties
    2. أضِف السطرَين التاليَين إلى ملف الخصائص:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. أعِد تشغيل مكوّن معالِج الرسائل:
      apigee-service edge-postgres-server restart
ترقية Postgresql عند الترقية إلى الإصدار 4.52

تواجه Apigee-postgresql مشاكل في الترقية من الإصدار 4.50 أو 4.51 من Edge for Private Cloud إلى الإصدار 4.52. تحدث المشاكل بشكل أساسي تحدث عندما يكون عدد الجداول أكبر من 500.

يمكنك التحقّق من إجمالي عدد الجداول في Postgres من خلال تشغيل طلب بحث SQL أدناه:

select count(*) from information_schema.tables

الحل: عند ترقية Apigee Edge 4.50.00 أو 4.51.00 إلى 4.52.00، احرص على تنفيذ الخطوة الأولية قبل ترقية Apigee-postgresql.

سياسة LDAP

‫149245401: لا تنعكس إعدادات مجموعة اتصالات LDAP لـ JNDI التي تم ضبطها من خلال الـ مورد LDAP ، وتؤدي الإعدادات التلقائية لـ JNDI إلى اتصالات أحادية الاستخدام في كل مرة. نتيجةً لذلك، يتم فتح الاتصالات وإغلاقها في كل مرة لاستخدامها مرة واحدة، ما يؤدي إلى إنشاء عدد كبير من الاتصالات في الساعة بخادم LDAP.

الحل:

لتغيير خصائص مجموعة اتصالات LDAP، اتّبِع الخطوات التالية لضبط تغيير عام على جميع سياسات LDAP.

  1. أنشئ ملف خصائص الإعدادات إذا لم يكن موجودًا:
    /opt/apigee/customer/application/message-processor.properties
  2. أضِف ما يلي إلى الملف (استبدِل قيم خصائص Java Naming and Directory Interface ‏ (JNDI) properties استنادًا إلى متطلبات إعدادات مورد 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. تأكَّد من أنّ المستخدم apigee:apigee هو مالك الملف /opt/apigee/customer/application/message-processor.properties.
  4. أعِد تشغيل كل معالِج رسائل.

للتأكّد من أنّ خصائص JNDI لمجموعة الاتصالات سارية المفعول، يمكنك إجراء tcpdump لمراقبة سلوك مجموعة اتصالات LDAP بمرور الوقت.

وقت استجابة طويل لمعالجة الطلبات

‫139051927: تؤثر أوقات استجابة معالجة الخادم الوكيل الطويلة التي تم العثور عليها في معالِج الرسائل في جميع الخوادم الوكيلة لواجهة برمجة التطبيقات. تشمل الأعراض تأخيرات تتراوح بين 200 و300 ملي ثانية في أوقات المعالجة مقارنةً بأوقات استجابة واجهة برمجة التطبيقات العادية ، ويمكن أن تحدث بشكل عشوائي حتى مع انخفاض عدد المعاملات في الثانية. يمكن أن يحدث ذلك عندما يكون هناك أكثر من 50 خادمًا مستهدفًا يتصل بها معالِج الرسائل.

السبب الجذري: يحتفظ معالِجو الرسائل بذاكرة تخزين مؤقت تربط عنوان URL للخادم المستهدف بكائن HTTPClient للاتصالات الصادرة إلى الخوادم المستهدفة. يكون هذا الإعداد مضبوطًا تلقائيًا على 50، وقد يكون منخفضًا جدًا لمعظم عمليات النشر. عندما تتضمّن عملية النشر مجموعات متعدّدة من المؤسسة/البيئة في إعداد، ويكون هناك عدد كبير من الخوادم المستهدفة التي تتجاوز 50 إجمالاً، تستمر عناوين URL للخادم المستهدف في الإزالة من ذاكرة التخزين المؤقت، ما يؤدي إلى حدوث أوقات استجابة طويلة.

التحقّق: لتحديد ما إذا كانت عملية إزالة عنوان URL للخادم المستهدف هي التي تسبّب مشكلة وقت الاستجابة الطويل، ابحث في system.logs الخاص بمعالِج الرسائل عن الكلمة الرئيسية "onEvict" أو "Eviction". يشير وجودهما في السجلّات إلى أنّه تتم إزالة عناوين URL للخادم المستهدف من ذاكرة التخزين المؤقت لـ HTTPClient لأنّ حجم ذاكرة التخزين المؤقت صغير جدًا.

الحل: بالنسبة إلى الإصدارَين 19.01 و19.06 من Edge for Private Cloud، يمكنك تعديل ذاكرة التخزين المؤقت لـ HTTPClient وضبطها، /opt/apigee/customer/application/message-processor.properties:

conf/http.properties+HTTPClient.dynamic.cache.elements.size=500

بعد ذلك، أعِد تشغيل معالِج الرسائل. أجرِ التغييرات نفسها لجميع معالِجات الرسائل.

القيمة 500 هي مثال. يجب أن تكون القيمة المثالية لإعدادك أكبر من عدد الخوادم المستهدفة التي سيتصل بها معالِج الرسائل. لا توجد أي آثار جانبية لضبط هذه السمة على قيمة أعلى، والتأثير الوحيد هو تحسين أوقات استجابة معالجة طلبات الخادم الوكيل لمعالِج الرسائل.

ملاحظة: يحتوي الإصدار 50.00 من Edge for Private Cloud على الإعداد التلقائي 500.

إدخالات متعدّدة لخرائط قيم المفاتيح

‫157933959: تؤدي عمليات الإدراج والتعديل المتزامنة لخرائط قيم المفاتيح (KVM) نفسها التي تم تحديد نطاقها على مستوى المؤسسة أو البيئة إلى بيانات غير متّسقة وتعديلات مفقودة.

ملاحظة: لا ينطبق هذا التقييد إلا على Edge for Private Cloud. لا ينطبق هذا التقييد على Edge for Public Cloud وHybrid.

للحصول على حل في Edge for Private Cloud، أنشئ خريطة قيم المفاتيح على النطاق apiproxy.