مشاركة عبر


تحدد قاعدة Azure Front Door متغيرات الخادم

توفر مجموعة قواعد متغيرات الخادم الوصول إلى معلومات منظمة حول الطلب عند العمل مع مجموعات القواعد.

عند استخدام الشروط المطابقة لمجموعة القواعد، تتوفر متغيرات الخادم كشروط مطابقة بحيث يمكنك تحديد الطلبات ذات خصائص معينة.

عند استخدام إجراءات مجموعة القواعد، يمكنك استخدام متغيرات الخادم لتغيير عناوين الطلب والاستجابة ديناميكيا، وإعادة كتابة عناوين URL والمسارات وسلاسل الاستعلام، على سبيل المثال، عند تحميل صفحة جديدة أو عند نشر نموذج.

إشعار

تتوفر متغيرات الخادم مع مستويات Azure Front Door Standard وPremium.

المتغيرات المعتمدة

اسم المتغير ‏‏الوصف
socket_ip عنوان IP للاتصال المباشر بحافة Azure Front Door. إذا استخدم العميل وكيل HTTP أو موازن تحميل لإرسال الطلب، فإن قيمة socket_ip هي عنوان IP للوكيل أو موازن التحميل.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم عنوان مأخذ التوصيل.
client_ip عنوان IP للعميل الذي قدم الطلب الأصلي. إذا كان هناك عنوان X-Forwarded-For في الطلب، فسيتم اختيار عنوان IP الخاص بالعميل من العنوان.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم العنوان البعيد وقم بتكوين عامل التشغيل إلى IP Match أو IP Not Match.
client_port منفذ IP الخاص بالعميل الذي قدم الطلب.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم منفذ العميل.
hostname اسم المضيف في الطلب من العميل.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم اسم المضيف.
geo_country يشير إلى بلد/منطقة أصل مقدم الطلب من خلال رمز البلد/المنطقة.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم العنوان البعيد وقم بتكوين عامل التشغيل إلى Geo Match أو Geo Not Match.
http_method الأسلوب المستخدم لتقديم طلب عنوان URL، مثل GET أو POST.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم أسلوب الطلب.
http_version بروتوكول الطلب. عادةً HTTP/1.0 أو HTTP/1.1 أو HTTP/2.0.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم إصدار HTTP.
query_string قائمة أزواج المتغير/القيمة التي تتبع ? في عنوان URL المطلوب.
على سبيل المثال، في الطلب http://contoso.com:8080/article.aspx?id=123&title=fabrikam، query_string القيمة هي id=123&title=fabrikam.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم سلسلة الاستعلام.
request_scheme نظام الطلب: http أو https.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم بروتوكول الطلب.
request_uri طلب URI الأصلي الكامل (مع الوسائط).
على سبيل المثال، في الطلب http://contoso.com:8080/article.aspx?id=123&title=fabrikam، request_uri القيمة هي http://contoso.com:8080/article.aspx?id=123&title=fabrikam.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم عنوان URL الخاص بالطلب.
ssl_protocol بروتوكول اتصال TLS المؤسس.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم بروتوكول SSL.
server_port منفذ الخادم الذي قبل طلبا.
للوصول إلى متغير الخادم في حالة مطابقة، استخدم منفذ الخادم.
url_path يعرّف المورد المحدد في المضيف الذي يريد عميل الويب الوصول إليه. هذا هو جزء من طلب URI بدون الوسيطات أو الشرطة المائلة البادئة.
على سبيل المثال، في الطلب http://contoso.com:8080/article.aspx?id=123&title=fabrikam، url_path القيمة هي article.aspx.
يدعم Azure Front Door الالتقاط الديناميكي لمسار URL مع {url_path:seg#} متغير الخادم، ويحول مسار URL إلى أحرف صغيرة أو كبيرة باستخدام {url_path.tolower} أو {url_path.toupper}. لمزيد من المعلومات، راجع تنسيق متغير الخادم ومتغيرات الخادم.
للوصول إلى متغير الخادم هذا في شرط مطابقة، استخدم شرط مسار الطلب.

تنسيق متغير الخادم

في حالة عملك مع إجراءات مجموعة القواعد، حدد متغيرات الخادم باستخدام التنسيقات التالية:

  • {variable}: قم بتضمين متغير الخادم بالكامل. على سبيل المثال، إذا كان عنوان IP الخاص بالعميل هو 111.222.333.444، فإن الرمز المميز {client_ip} سيتم تقييمه إلى 111.222.333.444.

  • {variable:offset}: قم بتضمين متغير الخادم بعد إزاحة محددة، حتى نهاية المتغير. الإزاحة قائمة على الصفر. على سبيل المثال، إذا كان عنوان IP الخاص بالعميل هو 111.222.333.444، فإن الرمز المميز {client_ip:3} سيتم تقييمه إلى .222.333.444.

  • {variable:offset:length}: قم بتضمين متغير الخادم بعد إزاحة محددة، حتى الطول المحدد. الإزاحة قائمة على الصفر. على سبيل المثال، عندما يكون التباين المتغير هو 'AppId=01f592979c584d0f9d679db3e66a3e5e'،

    • الإزاحات داخل النطاق، دون أطوال: {var:0} = AppId=01f592979c584d0f9d679db3e66a3e5e، {var:6} = 01f592979c584d0f9d679db3e66a3e5e، {var:-8} = e66a3e5e
    • الإزاحات خارج النطاق، دون أطوال: {var:-128} = AppId=01f592979c584d0f9d679db3e66a3e5e، {var:128} = خالٍ
    • الإزاحات والأطوال ضمن النطاق: {var:0:5} = AppId، {var:7:7} = 1f59297، {var:7:-7} = 1f592979c584d0f9d679db3e
    • أطوال صفرية: {var:0:0} = خالٍ، {var:4:0} = خالٍ
    • الإزاحات داخل النطاق والأطوال خارج النطاق: {var:0:100} = AppId=01f592979c584d0f9d679db3e66a3e5e، {var:5:100} = =01f592979c584d0f9d679db3e66a3e5e، {var:0:-48} = خالٍ، {var:4:-48} = خالٍ
  • {url_path:seg#}: السماح للمستخدمين بالتقاط واستخدام مقطع مسار URL المطلوب في إعادة توجيه URL أو إعادة كتابة URL أو أي إجراء ذي معنى. يمكن للمستخدم أيضا التقاط مقاطع متعددة باستخدام نفس نمط التقاط {url_path:seg1:3}السلسلة الفرعية . على سبيل المثال، بالنسبة لنمط /id/12345/default مصدر ووجهة إعادة كتابة /{url_path:seg1}/homeعنوان URL، يكون مسار URL المتوقع بعد إعادة الكتابة هو /12345/home. للحصول على التقاط متعدد الأجزاء، عندما يكون نمط المصدر هو /id/12345/default/location/test، ينتج عن عنوان URL إعادة كتابة الوجهة /{url_path:seg1:3}/home في /12345/default/location/home. يتضمن التقاط المقطع مسار الموقع، لذلك إذا كان المسار هو /match/*، مطابقة المقطع 0.

    تتوافق الإزاحة مع فهرس مقطع البدء، ويشير الطول إلى عدد المقاطع التي يجب التقاطها، بما في ذلك المقطع الموجود في الفهرس = الإزاحة.

    بافتراض أن الإزاحة والطول موجبة، ينطبق المنطق التالي:

    • إذا لم يتم تضمين الطول، فسجل المقطع في الفهرس = إزاحة.
    • عند تضمين الطول، التقط مقاطع من الفهرس = إزاحة حتى الفهرس = إزاحة + طول.

    تعالج الحالات الخاصة التالية أيضا:

    • إذا كانت الإزاحة سالبة، فاحسب للخلف من نهاية المسار للحصول على مقطع البداية.
    • إذا كانت الإزاحة قيمة سالبة أكبر من عدد المقاطع أو مساوية له، فاضبط على 0.
    • إذا كانت الإزاحة أكبر من عدد المقاطع، تكون النتيجة فارغة.
    • إذا كان الطول 0، يتم إرجاع المقطع الفردي المحدد بواسطة الإزاحة
    • إذا كان الطول سالبا، فاعامله كإزاحة ثانية واحسب للخلف من نهاية المسار. إذا كانت القيمة أقل من الإزاحة، فإنها تؤدي إلى سلسلة فارغة.
    • إذا كان الطول أكبر من عدد المقاطع، فقم بإعادة ما تبقى في المسار.
  • {url_path.tolower} / {url_path.toupper}: تحويل مسار URL إلى أحرف صغيرة أو كبيرة. على سبيل المثال، الوجهة {url_path.tolower} في عنوان URL إعادة كتابة/إعادة توجيه للنتائج /lowercase/ABcDXyZ/EXAMPLE في /lowercase/abcdxyz/example. وجهة {url_path.toupper} في عنوان URL إعادة كتابة/إعادة توجيه للنتائج /ABcDXyZ/example في /ABCDXYZ/EXAMPLE.

إجراءات مجموعة القواعد المدعومة

يتم دعم متغيرات الخادم في إجراءات مجموعة القواعد التالية:

الخطوات التالية