إصلاح مشكلة خطأ 503 والتي غالبا ما يتعرض لها العديد من أنظمة البريد الإلكتروني من مايكروسوفت Exchange 2016. و بالتالي عند الوصول إلى هذه المشكلة لا بد من أخذ الحيطة والحذر خوفا من فقدان بيانات الموظفين.
يشكل خادم مايكروسوفت Exchange بيئة واسعة من معالجة الإيميلات لدى الشركات. بل حتى أن البعض لا زال يمتلك نسخ قديمة من Exchange server ولا يريد الترقية خوفا من عدم امتلاك أدوات نسخ احتياطي.
في هذه المقالة نقدم لكم إصلاح مشكلة خطأ 503 , والتي تعرضت لها إحدى الشركات التي نتولى الدعم الفني لها. حيث قام موظف منها بالاتصال بنا وأخبرنا عن توقف مفاجئ في خادم البريد الإلكتروني.
إصلاح مشكلة خطأ 503
قبل أن نتقدم في خطوات الحل سوف نخبرك عزيزي القارئ بطريقة الوصول لهذا النوع من الأعطال.
لا بد لنا من الإشارة إلى مسألة ما ألا وهي أن العثور على مشكلة ما. يتطلب منك البحث في أدوات التحليل والمسجلات التي تجدها في مايكروسوفت ويندوز أو في أي نظام تشغيل آخر.
على سبيل المثال , يمكنك الذهاب إلى ملفات Log في خادم البريد الإلكتروني , أو يمكنك الوصول إلى أداة Event viewer من مايكروسوفت. لأن في هذه الأدوات أخطاء دورية ونظام تتبع للخادم ولأنظمة التشغيل يسهل معها الوصول إلى إحدى الحلول.
أداة Event Viewer
بعد محاولات من البحث والتي لم نفلح فيها قمنا بالدخول إلى أداة التقارير الخاصة من مايكروسوفت. إلى أن وجدنا أخطاء في النظام تظهر باستمرار عند محاولة الموظفين الوصول إلى بريد الخادم.
وبات من الواضح لنا بأن هذا الخطأ له علاقة بــ بروتوكول الإتصال , في الحقيقة لم تكن لي أدنى تجربة من قبل مع خوادم مايكروسوفت في إصلاح مشكلة خطأ 503.
أذكر أنني قمت بحل هذه المشكلة في نظام التشغيل Ubuntu 18.4 مع واجهة Webmin. وذلك بعد أن قمت بالدخول إلى قائمة Rewrite rules ومن ثم أعدت الخادم إلى بروتوكول Port 80 بدلا من Port 443 إلى أن أصلحت المشكلة.
مشاكل اثناء التحديث
ربما لهذه المشكلة علاقة ب Port 443 وهو الذي لم يفلح في العمل بعد اختفاء شهادة الأمان SSL من الخادم. وقد تبين لنا بأن الخادم قام بإجراء تحديث من مايكروسوفت في فترات متأخرة من الليل ولم يعمل على تفعيل شهادة الأمان بشكل تلقائي.
بالتالي في حال كنت تريد إحدى الحلول السريعة ننصحك بالتخلي عن آخر تحديثات قام بها مايكروسوفت Exchange 2016. تأخذ العملية بعض الوقت لكنها مضمونة 100%.
إصلاح مشكلة خطأ 503 من خلال التحقق من الخدمات
أداة service من مايكروسوفت هي مجموعة ضخمة من الخدمات التي تعمل عبر DLL ولغة c++. يمكنك التحقق من إحدى الخدمات في حال كانت متوقفة ومن ثم تفعيلها مجددا.
على سبيل المثال , سوف تجد خدمة في الصورة التالية لها علاقة بــ بروتوكولات الإتصال.
الدخول إلى خادم الويب IIS
لقد قمنا بــ إصلاح مشكلة خطأ 503 عن طريق الدخول إلى صفحة IIS ومن ثم إلى binding. بالتالي تظهر الصورة التالية أداة IIS من مايكروسوفت.
- يمكنك البحث عنها في نافذة Start من ويندوز ومن ثم كتابة IIS في صندوق البحث.
- من النافذة التي على اليسار قم باختيار sites ومن ثم Exchange Backend. وعلى اليمين قم باختيار Bindings وانتظر ظهور صفحة كما في الصورة التالية:
نلاحظ بأن جميع بروتوكولات الإنترنت والإتصال هي عبارة عن منافذ Ports يتم من خلالها التواصل مع الخادم. في حوزتنا منفذين أساسيين في جميع الخوادم وهما منفذ 80 و 443.
كما نلاحظ فإن هناك تغيير في أرقام المنافذ من الخادم , وهذه مسألة تتعلق بمايكروسوفت Exchange ما بين Back-End و Front-End على أنها منافذ مختلفة.
وذلك كــ نوع من أنواع الأمان وحماية الإتصال. في حال وجدت المنفذ الخاص بك 443 او غيره لا يهم.
- ما يهمنا هو نوع البروتوكول , وفي الصورة السابقة يظهر لنا النوع https. نقوم بالدخول إليها لتصل بنا إلى صفحة أخرى تسمى Edit Site Bindings كما في الصورة التالية.
- كما نلاحظ في الصورة التالية فإن سبب توقف الخادم هو رجوع SSL certificate إلى الوضع الأساسي. وبهذا يتعذر الوصول إلى الصفحة ويظهر الخطأ 503.
- قم بتعيين شهادة الأمان التي قمت بإعدادها مسبقا عن طريق خيار SSL certificate.
في حال قمت بتعيين شهادة الأمان , من المستحسن إعادة تشغيل خادم IIS وهذا ما سوف نقوم به في الخطوة القادمة.
إعادة تشغيل خادم IIS
نحن على وشك إصلاح مشكلة خطأ 503 وذلك من خلال إعادة تشغيل خادم IIS. يجب بناء ملف Run وهو يحمل الصيغة ps1. من فضلك قم بنسخ الشيفرة التالية إلى ملف txt وقم بتحويل الإمتداد إلى ps1.
# Load Exchange Management Shell PowerShell Snap-In
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
# Get All Exchange Servers
$Servers = Get-ExchangeServer
# Go through the list and restart one by one
foreach ($Server in $Servers) {
Write-Host Restarting IIS on server $($Server.Name) -ForegroundColor Green
IISRESET $Server.Name
# Optional Get the Status
Write-Host IIS status for server $($server)
IISRESET $server.Name status
}
Write-host IIS restarted on all Exchange Servers. -ForegroundColor Green
تأكد من حفظ جميع الخطوات السابقة التي قمت بها على الخادم قبل تنفيذ الأمر السابق.
- قم بفتح Powershell لكي نقوم بتشغيل الملف.
- نقوم بكتابة الأمر التالي.
.Restart-ExchangeIIS.ps1
كما ترى فقد قمنا بتسمية الملف كما في الأمر السابق. يجب أن تقوم بكتابة الأمر السابق بما يلائم اسم الملف أولا وأيضا لا تنسى الوصول إلى ملف dir عبر الأمر CD. يمكنك مشاهدة الصورة التالية:
بعد أن قمت بكافة الخطوات السابقة يمكنك الدخول إلى رابط الخادم Exchange. وتستطيع الإشارة إلى إحدى حسابات المستخدمين أو الموظفين على الخادم والقيام بعملية فحص الإتصال لتجد ما إذا كانت الطريقة ناجحة أم لا.