تخطَّ إلى المحتوى

تحسينات موازن تحميل HTTP

بيانات الإثراء الوصفية لمخططات موازن تحميل HTTP. راجع امتدادات OpenAPI لتعريفات الامتدادات.

تتلقى جميع المخططات المطابقة لـ viewshttp_loadbalancer.*SpecType عمليات الإثراء:

  • viewshttp_loadbalancerCreateSpecType
  • viewshttp_loadbalancerReplaceSpecType
  • viewshttp_loadbalancerGetSpecType

بيانات الحد الأدنى من التهيئة

Section titled “بيانات الحد الأدنى من التهيئة”

يوفر الامتداد x-f5xc-minimum-configuration بيانات وصفية شاملة لواجهة سطر الأوامر لإنشاء موازنات تحميل HTTP قابلة للحياة بحد أدنى من الإعدادات.

الحقلالقيدالوصف
metadata.nameتنسيق تسمية DNS: [a-z0-9]([-a-z0-9]*[a-z0-9])?اسم المورد
metadata.namespaceتنسيق تسمية DNSمساحة الاسم
spec.domainsمصفوفة، min_items: 1النطاقات التي سيتم تقديمها

نوع موازن التحميل (مطلوب أحدها)

Section titled “نوع موازن التحميل (مطلوب أحدها)”

يجب تحديد أحد أنواع موازنات التحميل التالية:

الصيغةالوصف
spec.httpHTTP فقط
spec.httpsHTTPS مع شهادة يدوية
spec.https_auto_certHTTPS مع شهادة تلقائية
spec.http_httpsكلٌّ من HTTP وHTTPS

ملاحظة: يُشار إلى مجموعة OneOf لنوع موازن التحميل بـ:

  • lb_type في ملفات التهيئة (الصيغة المختصرة في config/minimum_configs.yaml)
  • loadbalancer_type في امتدادات المواصفة الأصلية لـ OpenAPI (اسم الحقل الأصلي)

مرجع مخطط API: x-ves-oneof-field-loadbalancer_type: ["http", "https", "https_auto_cert", "http_https"]

الحد الأدنى من التهيئة القابلة للتطبيق

Section titled “الحد الأدنى من التهيئة القابلة للتطبيق”
{
"metadata": {
"name": "example-app",
"namespace": "default"
},
"spec": {
"domains": ["example.com"],
"https_auto_cert": {
"port": 443,
"tls_config": {"default_security": {}}
},
"advertise_on_public_default_vip": {},
"routes": [{"prefix": "/", "origin_pool": {"pool_name": "backend-pool"}}]
}
}

الإعدادات الافتراضية المُطبَّقة من الخادم

Section titled “الإعدادات الافتراضية المُطبَّقة من الخادم”

الحقول المُعلَّمة بـ x-f5xc-server-default: true تُطبَّق قيمتها الافتراضية default بواسطة خادم F5 XC API عند حذفها من الطلبات. يمتلك موازن تحميل HTTP عددًا كبيرًا من الإعدادات الافتراضية المُطبَّقة من الخادم لأن معظم ميزات الأمان وخيارات البروتوكول تكون افتراضيًا في حالة معطّلة أو آمنة.

إعدادات HTTPS Auto-Cert الافتراضية

Section titled “إعدادات HTTPS Auto-Cert الافتراضية”

عند تحديد https_auto_cert، يُطبِّق الخادم هذه الإعدادات الافتراضية للحقول المحذوفة:

الحقلالقيمة الافتراضيةالنوعالوصف
port443عدد صحيحمنفذ استماع HTTPS
http_redirectfalseمنطقيإعادة توجيه HTTP إلى HTTPS
add_hstsfalseمنطقيرأسية HTTP Strict Transport Security
tls_config.default_security{}كائنTLS 1.2+ مع تشفيرات قوية
no_mtls{}كائنMutual TLS معطّل
default_header{}كائنمعالجة رأسية اسم الخادم الافتراضية
enable_path_normalize{}كائنتطبيع المسار مُفعَّل
default_loadbalancer{}كائنإعدادات موازن التحميل الافتراضية
header_transformation_type.legacy_header_transformation{}كائنتحويل الرأسية القديم
connection_idle_timeout120000عدد صحيحمهلة الاتصال الخاملة بالميلي ثانية (دقيقتان)
http_protocol_options.http_protocol_enable_v1_v2{}كائنHTTP/1.1 وHTTP/2 مُفعَّلان
coalescing_options.default_coalescing{}كائندمج اتصال HTTP/2 الافتراضي

إعدادات ميزات الأمان الافتراضية

Section titled “إعدادات ميزات الأمان الافتراضية”

جميع ميزات الأمان تكون معطّلة افتراضيًا عند حذفها:

الحقلالقيمة الافتراضيةالوصف
disable_waf{}جدار حماية تطبيقات الويب (WAF) معطّل
disable_bot_defense{}دفاع Bot معطّل
disable_rate_limit{}تحديد معدل الطلبات معطّل
disable_api_discovery{}اكتشاف API معطّل
disable_api_testing{}اختبار API معطّل
disable_api_definition{}تعريف API معطّل
disable_malware_protection{}حماية البرمجيات الخبيثة معطّلة
disable_client_side_defense{}الدفاع من جهة العميل معطّل
disable_ip_reputation{}سمعة IP معطّلة
disable_threat_mesh{}شبكة التهديدات معطّلة
disable_malicious_user_detection{}اكتشاف المستخدم الخبيث معطّل

إعدادات حماية DDoS والتحكم في الوصول الافتراضية

Section titled “إعدادات حماية DDoS والتحكم في الوصول الافتراضية”
الحقلالقيمة الافتراضيةالوصف
l7_ddos_protection.mitigation_block{}حجب حركة مرور DDoS (إجراء التخفيف الافتراضي)
l7_ddos_protection.default_rps_threshold{}استخدام حد RPS الافتراضي
l7_ddos_protection.clientside_action_none{}لا يوجد تحقق من جهة العميل لـ DDoS
l7_ddos_protection.ddos_policy_none{}لا توجد إشارة إلى سياسة DDoS
no_challenge{}لا يوجد تحدٍّ للعميل
user_id_client_ip{}تحديد هوية المستخدمين عبر IP العميل
disable_trust_client_ip_headers{}عدم الثقة برأسيات IP العميل

الإعدادات الافتراضية الأخرى المُطبَّقة من الخادم

Section titled “الإعدادات الافتراضية الأخرى المُطبَّقة من الخادم”
الحقلالقيمة الافتراضيةالنوعالوصف
advertise_on_public_default_vip{}كائنالإعلان على VIP العام الافتراضي
round_robin{}كائنخوارزمية موازنة التحميل Round-Robin
add_locationtrueمنطقيإضافة رأسية الموقع إلى الاستجابات
system_default_timeouts{}كائناستخدام مهل النظام الافتراضية
service_policies_from_namespace{}كائنتوارث سياسات الخدمة من مساحة الاسم
default_sensitive_data_policy{}كائناستخدام سياسة البيانات الحساسة الافتراضية

مجموعات الحقول المتنافية

Section titled “مجموعات الحقول المتنافية”

الحقول المُعلَّمة بـ x-f5xc-conflicts-with تشير إلى أنماط OneOf. يمكن تحديد حقل واحد فقط من كل مجموعة.

مجموعات التهيئة الأساسية

Section titled “مجموعات التهيئة الأساسية”
اسم المجموعةالحقولالوصف
lb_typehttp، https، https_auto_cert، http_httpsنوع بروتوكول موازن التحميل
advertisingadvertise_on_public_default_vip، advertise_on_public، advertise_custom، do_not_advertiseطريقة الإعلان عن موازن التحميل
load_balancing_algorithmround_robin، least_request، ring_hash، randomخوارزمية توزيع حركة المرور

مجموعات تهيئة HTTPS (10 مجموعات)

Section titled “مجموعات تهيئة HTTPS (10 مجموعات)”
اسم المجموعةالحقولالوصف
tls_configdefault_security، medium_security، low_security، custom_securityمستوى أمان TLS
mtlsno_mtls، use_mtlsMutual TLS مُفعَّل أو معطّل
اسم المجموعةالحقولالوصف
http_protocolhttp_protocol_enable_v1_only، http_protocol_enable_v1_v2، http_protocol_enable_v2_onlyإصدارات بروتوكول HTTP
header_transformationlegacy_header_transformation، proper_header_transformation، preserve_case_header_transformationنوع تحويل رأسية HTTP
server_name_headerdefault_header، append_server_name_header، pass_through_server_name_headerمعالجة رأسية اسم الخادم
اسم المجموعةالحقولالوصف
path_normalizeenable_path_normalize، disable_path_normalizeتطبيع المسار مُفعَّل أو معطّل
loadbalancer_choicenon_default_loadbalancer، default_loadbalancerموازن التحميل الافتراضي أو غير الافتراضي
coalescingdefault_coalescing، disable_coalescing، enable_for_same_originخيارات دمج اتصال HTTP/2

مجموعات ميزات الأمان (11 مجموعة)

Section titled “مجموعات ميزات الأمان (11 مجموعة)”
اسم المجموعةالحقولالوصف
wafdisable_waf، enable_wafجدار حماية تطبيقات الويب (WAF)
bot_defensedisable_bot_defense، enable_bot_defenseاكتشاف Bot والتخفيف منه
rate_limitdisable_rate_limit، enable_rate_limitتحديد معدل الطلبات
api_discoverydisable_api_discovery، enable_api_discoveryاكتشاف API
api_testingdisable_api_testing، enable_api_testingاختبار API
api_definitiondisable_api_definition، enable_api_definitionتعريف API
malware_protectiondisable_malware_protection، enable_malware_protectionحماية البرمجيات الخبيثة
client_side_defensedisable_client_side_defense، enable_client_side_defenseالدفاع من جهة العميل
ip_reputationdisable_ip_reputation، enable_ip_reputationسمعة IP
threat_meshdisable_threat_mesh، enable_threat_meshشبكة التهديدات
malicious_user_detectiondisable_malicious_user_detection، enable_malicious_user_detectionاكتشاف المستخدم الخبيث

مجموعات حماية DDoS (4 مجموعات)

Section titled “مجموعات حماية DDoS (4 مجموعات)”
اسم المجموعةالحقولالوصف
ddos_mitigationmitigation_block، mitigation_challenge، mitigation_noneإجراء التخفيف من DDoS
ddos_rps_thresholddefault_rps_threshold، custom_rps_thresholdحد الطلبات في الثانية
ddos_clientside_actionclientside_action_none، clientside_action_javascript، clientside_action_captchaإجراء التحقق من DDoS من جهة العميل
ddos_policyddos_policy_none، ddos_policy_refالإشارة إلى سياسة DDoS أو لا شيء

مجموعات الإعدادات الأخرى (6 مجموعات)

Section titled “مجموعات الإعدادات الأخرى (6 مجموعات)”
اسم المجموعةالحقولالوصف
challengeno_challenge، js_challenge، captcha_challengeنوع تحدي العميل لاكتشاف Bot
user_identificationuser_id_client_ip، user_identificationطريقة تحديد هوية المستخدم
client_ip_headersdisable_trust_client_ip_headers، enable_trust_client_ip_headersالثقة برأسيات IP العميل أو عدمها
timeoutssystem_default_timeouts، custom_timeoutsاستخدام مهل النظام الافتراضية أو المخصصة
service_policies_sourceservice_policies_from_namespace، active_service_policiesسياسات الخدمة من مساحة الاسم أو القائمة النشطة
sensitive_data_policydefault_sensitive_data_policy، custom_sensitive_data_policyاستخدام سياسة البيانات الحساسة الافتراضية أو المخصصة

توصيات صيغة OneOf (امتداد مستقبلي)

Section titled “توصيات صيغة OneOf (امتداد مستقبلي)”

الحالة: لم تُطبَّق بعد على مخططات http_loadbalancer.

على عكس healthcheck الذي يتضمن x-f5xc-recommended-oneof-variant للإشارة إلى الخيار الأكثر شيوعًا لمجموعات OneOf، يفتقر http_loadbalancer حاليًا إلى هذا الامتداد.

Healthcheck (مُنفَّذ):

viewshealthcheckCreateSpecType:
x-f5xc-recommended-oneof-variant:
health_check: "http_health_check"

HTTP LoadBalancer (غير مُنفَّذ بعد):

viewshttp_loadbalancerCreateSpecType:
x-f5xc-recommended-oneof-variant: null # Would indicate recommended lb_type variant

لإضافة هذا الامتداد لـ http_loadbalancer:

  1. رصد الاختيارات الافتراضية في وحدة تحكم F5 XC (مثل نوع lb_type الذي يكون محددًا مسبقًا في واجهة المستخدم)
  2. إضافة التهيئة إلى config/discovered_defaults.yaml
  3. إعادة تشغيل خط أنابيب الإثراء لتطبيق الامتداد

البنية المتوقعة عند الإضافة:

viewshttp_loadbalancerCreateSpecType:
x-f5xc-recommended-oneof-variant:
loadbalancer_type: "https_auto_cert" # Example - requires verification

سيُمكِّن هذا الامتداد الأدوات الخارجية من تحديد الصيغة الأكثر استخدامًا مسبقًا عند عرض خيارات التهيئة للمستخدمين.

الحقول المُعلَّمة بـ x-f5xc-constraints تتضمن قيود التحقق المكتشفة من تحليل API.

الحقلminItemsmaxItemsuniqueItems
spec.domains1-false
spec.routes1256false
spec.blocked_clients1128true
spec.trusted_clients1128true
spec.data_guard_rules1256true
الحقلالحد الأدنىالحد الأقصىالافتراضيالوصف
spec.https_auto_cert.port165535443رقم منفذ HTTPS
spec.https_auto_cert.connection_idle_timeout10003600000120000مهلة الاتصال الخاملة (بالميلي ثانية، من 1 ثانية إلى 1 ساعة)
الحقلالقيمالافتراضيالوصف
spec.https_auto_cert.tls_configdefault_security، medium_security، low_security، custom_securitydefault_securityمستوى أمان TLS
spec.https_auto_cert.header_transformation_typelegacy_header_transformation، proper_header_transformation، preserve_case_header_transformationlegacy_header_transformationتحويل رأسية HTTP
spec.https_auto_cert.http_protocol_optionshttp_protocol_enable_v1_only، http_protocol_enable_v1_v2، http_protocol_enable_v2_onlyhttp_protocol_enable_v1_v2إصدارات بروتوكول HTTP
spec.https_auto_cert.coalescing_optionsdefault_coalescing، disable_coalescing، enable_for_same_origindefault_coalescingدمج اتصال HTTP/2
spec.load_balancing_algorithmround_robin، least_request، ring_hash، randomround_robinخوارزمية موازنة التحميل
spec.l7_ddos_protection.mitigationmitigation_block، mitigation_challenge، mitigation_nonemitigation_blockإجراء التخفيف من DDoS للطبقة السابعة
spec.l7_ddos_protection.rps_thresholddefault_rps_threshold، custom_rps_thresholddefault_rps_thresholdحد RPS لاكتشاف DDoS
spec.l7_ddos_protection.clientside_actionclientside_action_none، clientside_action_javascript، clientside_action_captchaclientside_action_noneالتحقق من DDoS من جهة العميل
spec.challengeno_challenge، js_challenge، captcha_challengeno_challengeنوع تحدي العميل
spec.advertisingadvertise_on_public_default_vip، advertise_on_public، advertise_custom، do_not_advertiseadvertise_on_public_default_vipإعلان موازن التحميل

تكامل سير العمل الموجَّه

Section titled “تكامل سير العمل الموجَّه”

يضيف خط أنابيب الإثراء بيانات x-f5xc-guided-workflows الوصفية على مستوى المواصفة. توفر هذه سير العمل إرشادات نشر خطوة بخطوة يستهلكها مساعدو الذكاء الاصطناعي وأدوات سطر الأوامر.

سير عمل من 5 خطوات لإنشاء موازن تحميل HTTP مهيَّأ بالكامل مع مجموعة خادم المصدر الخلفي (مُعرَّف في config/guided_workflows.yaml):

الخطوةالإجراءالموردالحقول المطلوبةاختياري
1إنشاء Origin Poolorigin_poolname، origin_servers، portلا
2تهيئة فحص الصحةhealthcheckname، http_health_checkنعم
3إرفاق فحص الصحة--نعم
4إنشاء موازن تحميل HTTPhttp_loadbalancername، domains، http.portلا
5التحقق من النشر--لا

المتطلبات الأساسية: مساحة اسم صالحة في المستأجر المستهدف، تطبيق خلفي يمكن الوصول إليه عبر IP أو DNS، شهادة SSL (اختيارية لـ HTTPS).

نشر موازن تحميل HTTPS مع TLS

Section titled “نشر موازن تحميل HTTPS مع TLS”

سير عمل من 7 خطوات لإنشاء موازن تحميل HTTPS مع إنهاء SSL/TLS:

الخطوةالإجراءالموردالحقول المطلوبةاختياري
1رفع شهادة SSLcertificatename، certificate_chain، private_keyلا
2إنشاء Origin Poolorigin_poolname، origin_serversلا
3تهيئة فحص الصحةhealthcheck-نعم
4تهيئة سياسة WAFapp_firewall-نعم
5إنشاء موازن تحميل HTTPShttp_loadbalancername، domains، https.tls_parametersلا
6إرفاق سياسة WAF--نعم
7التحقق من نشر HTTPS--لا

المتطلبات الأساسية: مساحة اسم صالحة في المستأجر المستهدف، شهادة SSL ومفتاح خاص، تطبيق خلفي يمكن الوصول إليه.

تستخدم الأدوات الخارجية هذه سير العمل لإرشاد المستخدمين خلال عمليات النشر متعددة الخطوات:

  • xcsh CLI: يعرض سير العمل كأوامر موجَّهة تفاعلية (مثل xcsh deploy http-lb)
  • إضافة VS Code: تعرض خطوات سير العمل في لوحة جانبية مع تتبع التقدم
  • مساعدو الذكاء الاصطناعي: يتبعون خطوات سير العمل بشكل تسلسلي، وينشئون كل مورد ويتحققون من التبعيات

تُضاف هذه الامتدادات الخاصة بالبائع إلى مخطط OpenAPI القياسي لنقل البيانات الوصفية الخاصة بـ F5 XC.

النوع: string

يشير إلى تصنيف النطاق لتنظيم واجهة سطر الأوامر والأدوات.

viewshttp_loadbalancerCreateSpecType:
type: object
x-f5xc-cli-domain: "virtual"

النوع: object

يوفر بيانات وصفية شاملة لإنشاء الحد الأدنى من التهيئات القابلة للتطبيق. يتضمن:

  • الوصف
  • الحقول المطلوبة مع القيود
  • المجموعات المتنافية
  • أمثلة التهيئة (YAML، JSON)
  • أمثلة أوامر curl
viewshttp_loadbalancerCreateSpecType:
type: object
x-f5xc-minimum-configuration:
description: "HTTP/HTTPS load balancer for distributing traffic across origin pools"
required_fields:
- "metadata.name"
- "metadata.namespace"
- "spec.domains"
mutually_exclusive_groups:
- name: "lb_type"
fields: ["spec.http", "spec.https", "spec.https_auto_cert", "spec.http_https"]
reason: "Choose exactly one load balancer type"
example_yaml: |
...
example_json: |
...
example_curl: |
...

النوع: boolean

عندما تكون true، يشير إلى أن قيمة default المرفقة يُطبِّقها خادم F5 XC API. يمكن حذف الحقول التي تحمل هذا الامتداد بأمان من طلبات API — يُطبِّق الخادم القيمة الافتراضية تلقائيًا.

disable_waf:
type: object
default: {}
x-f5xc-server-default: true

النوع: array of strings

يسرد أسماء الحقول التي تتعارض مع الحقل الحالي، مشيرًا إلى أنماط OneOf.

advertise_custom:
type: object
x-f5xc-conflicts-with:
- advertise_on_public
- advertise_on_public_default_vip
- do_not_advertise

النوع: object

يوفر قيود التحقق بما فيها حدود حجم المصفوفة، ونطاقات الأعداد الصحيحة، ومتطلبات التفرد، وبيانات الاكتشاف الوصفية.

routes:
type: array
x-f5xc-constraints:
constraintType: "array"
minItems: 1
maxItems: 256
uniqueItems: false
metadata:
source: "discovery"
confidence: 0.99
validatedAt: "2026-01-19T12:00:00Z"
port:
type: integer
x-f5xc-constraints:
constraintType: "number"
minimum: 1
maximum: 65535
metadata:
source: "discovery"
confidence: 0.99

x-f5xc-description-short وx-f5xc-description-medium

Section titled “x-f5xc-description-short وx-f5xc-description-medium”

النوع: string

يوفر أطوالًا بديلة للوصف لحالات الاستخدام المختلفة:

  • x-f5xc-description-short: 60 حرفًا كحد أقصى (أعمدة CLI، الشارات)
  • x-f5xc-description-medium: 150 حرفًا كحد أقصى (تلميحات الأدوات، الملخصات)
domains:
type: array
description: "List of domains the load balancer will serve"
x-f5xc-description-short: "Domains to serve"
x-f5xc-description-medium: "List of domains for which the load balancer accepts traffic"

النوع: any (يطابق نوع الحقل)

يوفر أمثلة حقل ملموسة للتوثيق والأدوات.

name:
type: string
x-f5xc-example: "example-app"
domains:
type: array
x-f5xc-example: ["example.com", "www.example.com"]

النوع: array of strings

يشير إلى المتطلبات الخاصة بالسياق باستخدام الأعلام: minimum_config، create، update، read.

metadata.name:
type: string
x-f5xc-required-for: ["minimum_config", "create"]
metadata.uid:
type: string
x-f5xc-required-for: ["read"]
الملفالمحتوى
docs/specifications/api/virtual.jsonجميع مخططات http_loadbalancer مع عمليات الإثراء
docs/specifications/api/openapi.jsonالمواصفة المدموجة مع جميع المخططات
الملفالغرض
config/minimum_configs.yamlمصدر بيانات الحد الأدنى من التهيئة الوصفية
config/constraint_patterns.yamlتعريفات نمط القيود
config/guided_workflows.yamlتعريفات خطوات سير العمل الموجَّهة
config/domain_descriptions.yamlبيانات وصف مستوى النطاق الوصفية
  • viewshttp_loadbalancerCreateSpecType - مخطط عملية الإنشاء
  • viewshttp_loadbalancerReplaceSpecType - مخطط عملية التحديث
  • viewshttp_loadbalancerGetSpecType - مخطط عملية القراءة
الإصدارالتاريخالتغييرات
2.0.462026-04-18إضافة الإعدادات الافتراضية المُطبَّقة من الخادم، وتكامل سير العمل الموجَّه، وتوسيع قسم الحد الأدنى من التهيئة
2.0.452026-01-20التوثيق الأوّلي لإثراءات http_loadbalancer