تحدد قاعدة 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
.
إجراءات مجموعة القواعد المدعومة
يتم دعم متغيرات الخادم في إجراءات مجموعة القواعد التالية:
- سلوك التخزين المؤقت لسلسلة الاستعلام في تجاوز تكوين المسار
- تعديل عنوان الطلب
- تعديل عنوان الاستجابة
- إعادة توجيه عنوان URL
- إعادة كتابة عنوان URL
الخطوات التالية
- تعرف على المزيد حول مجموعة قواعد الواجهة الأمامية لـ Azure.
- تعرف على المزيد حول شروط مطابقة مجموعة القواعد.
- تعرف على المزيد حول إجراءات مجموعة القواعد.