عندما يكون originHostHeader فارغًا، يستخدم Front Door اسم مضيف الأصل في آن واحد
كترويسة Host وكـ SNI لاتصال الـ TLS. فيقدّم إذن
agw-kasbah-prod.westeurope.cloudapp.azure.com؛ وتجيب الـ Application Gateway بشهادتها
www.kasbah-voyages.ma، وبما أن enforceCertificateNameCheck مفعّل، يقطع Front Door الاتصال:
السجل CertificateNameCheckFailed، والاستجابة 502. مع الـ App Service القديمة، كان الاسم
*.azurewebsites.net مغطّى بشهادة المنصة: فلم تكن المشكلة موجودة.
الخوادم سليمة (فحص الـ Application Gateway والاختبار المباشر باستخدام --resolve بنتيجة 200)، والـ WAF لم
يحظر شيئًا (كان سيعطي 403)، وFront Door لا يخزّن استجابات 502 مؤقتًا.
تمّ حلّ الحادث
التحليل والإصلاح
الإصلاح: إرسال الاسم الصحيح إلى الأصل:
az afd origin update -g rg-kasbah-edge --profile-name afd-kasbah --origin-group-name og-web -n origin-agw --origin-host-header www.kasbah-voyages.ma.
يستخدم Front Door هذا الاسم في Host وفي الـ SNI؛ فتتطابق الشهادة، ويقبل مستمع HTTPS في
الـ Application Gateway (المُرشَّح على www.kasbah-voyages.ma) الطلب. التحقق: يُرجع curl -sI
من جديد 200 ويُظهر استعلام Log Analytics نتائج 200 / NoError.
حتى لا يتكرر ذلك:
- لكل أصل ليس خدمة PaaS من Azure، تعبئة ترويسة host الخاصة بالأصل بشكل منهجي بالاسم الذي تغطيه شهادته؛
- إضافة الأصل أولًا بوزن منخفض أو بأولوية احتياطية، والتحقق من السجلات قبل سحب الأصل القديم؛
- وصف Front Door بـ infrastructure as code مع اختبار (
curlعبر نقطة النهاية) في الـ pipeline؛ - التنبيه على نسبة أخطاء 5xx في Front Door (المقياس
Percentage5XX).