ارورها در مجموع خانوادهٔ خوشنامی نیستند. درست به همین دلیل پیشتر در یک مقاله مفصل دربارهٔ رفع ارورهای رایج وردپرس صحبت کردیم. این بار نوبت بررسی یکی از اعضای قابل تحملتر این خانواده است که احتمالاً به دلیل خطایی که واقعاً خودتان رقم زدهاید Error 500 روی صفحهتان ظهور کرده است. اگر رفع ارور ۵۰۰ چالش امروز شماست، تا انتهای مطلب همراه ما باشید تا از ریشه به این ارور بپردازیم و روشهای برطرف کردن آن را معرفی کنیم.
ارور ۵۰۰ چیست؟
خطای ۵۰۰ سرور داخلی به این معنی است که وبسایت شما در اتصال به کاربر دچار مشکل شده است. به این دلیل که نمیتواند برخی کدها را ارائه کند. حالا یا ایراد در کدنویسی صفحهٔ سایت است و یا از سمت سرور دچار مشکل شدهاید. دلایل زیادی میتوانند باعث رخداد این خطا شوند. مثلاً مجوزهای نامعتبر، مالکیت نامعتبر، کدهای نادرست در فایل، فایل php.ini یا .htaccess شما، درخواستهای نامعتبر در اسکریپت و…. (آیا هنوز انتظار دارید ادامه بدهیم؟ لیست خیلی طولانیتر از اینهاست!)
در هر صورت با خواندن این مطلب راه فراری برای هیچکدام از این فرضیهها باقی نخواهید گذاشت.
علت ارور ۵۰۰ یا HTTP Error 500 چیست؟
کد خطای ۵۰۰ یک پیام عمومی است که زمانی ظاهر میشود که اتفاقی غیرمنتظره در وب سرور رخ دهد و سرور نمیتواند اطلاعات دقیقتری ارائه دهد. گاهی اوقات سر و کلهٔ عبارت HTTP 500 internal server error وقتی پیدا میشود که در کدنویسی یا صفحه چینی وردپرس خطایی از شما سر زده باشد.
عکس بالا دریافت ارور ۵۰۰ کلودفلر را نشان میدهد که نسبتاً زیاد اتفاق میافتد؛ بنابراین نیازی نیست نگران شوید. اولین احتمال برای بروز ارور هم این است که وبسرور برای برقراری اتصال با دیتابیس با مشکل مواجه شده است.
این ارور را با نام خطای HTTP 500 هم میشناسند؛ چرا که وبسرور، اتصال HTTP را برقرار میکند. با وجود احتمال اولیه اخلال در برقراری ارتباط با دیتابیس، باز هم ممکن است این ارور دلیل دیگری داشته باشد.
✅ راهحل:
پیشنهاد میکنیم به پشتیبانی هاست خود تیکت بزنید و مسئله را مطرح کنید. آنها با دسترسیهایی که دارند میتوانند سریعتر از شما اقدام کنند.
اگر هنگام بازدید از وب سایت خود صفحات خالی یا سفید را مشاهده میکنید، بررسی کنید که آیا این مشکل با قطع کردن Cloudflare همچنان ادامه دارد یا خیر و سپس برای کمک با ارائهدهنده هاست خود تماس بگیرید.
نکاتی که باید قبل از رفع ارورهای ۵XX بدانید!
قبل از این که برویم سر اصل مطلب، اجازه بدهید دربارهٔ چند عبارت که در ادامه زیاد با آنها کار داریم، به توافق برسیم. اولی «پشتیبانی کلودفلر» است.
ارورهای دسته ۵۰۰ معمولاً به دلیل اختلال در عملکرد سرور و یا وبسرور ایجاد میشوند. بنابراین برای رفع بسیاری از این ارورها بایستی با پشتیبانی هاست یا پشتیبانی کلودفلر در ارتباط باشید.
دربارهٔ پشتیبانی هاست احتمالاً مشکلی وجود ندارد و میتوانید با مراجعه به سایت میزبانی خود به شماره تماس یا پنل کاربری برای ارسال تیکت دسترسی داشته باشد؛ اما برای ارتباط با پشتیبانی کلودفلر میتوانید از راههای ارتباطی زیر استفاده کنید:
- Support Portal: https://support.cloudflare.com/
- Knowledge Base: https://support.cloudflare.com/hc/en-us
- Community Forum: https://community.cloudflare.com/
اصطلاح دوم هم «وبسرور مبدا یا اصلی» است. در این مقاله هرجا با عبارت «وبسرور مبدا» یا «وبسرور اصلی» مواجه شدید، بدانید که منظور وبسرور اصلی هاست است.
اشکال مختلف نمایش خطای ۵۰۰
خطای ۵۰۰ ممکن است به شکلهای مختلفی ظاهر شود اما تمام آنها به مسئلهٔ مشترکی اشاره دارند. ممکن است بسته به سایت خود یکی از پیامهای “۵۰۰ Internal Server Error”, “۵۰۰ Error”, “HTTP Error 500”, “۵۰۰. That’s an error”, “Temporary Error (500)”, ” را دریافت کنید. گاهی هم فقط یک ۵۰۰ تک و تنها در یک صفحهٔ خالی را میبینید.
در هر صورت بایستی ابتدا عیبیابی انجام شود و سپس با راهکار مناسب رفع خطای ۵۰۰ را انجام بدهید.
اما اگر غیر از این صورتها، کد ۵۰۰ را با پسوند یکی دو عدد دیگر دریافت میکنید، دلیل بروز خطا به شرح لیست زیر است:
در این بخش میتوانید ارورهای فعلی سایت خود را مشاهده و آنها را آنالیز کنید و ببینید این ارورها چرا ایجاد شدهاند. بعد از دانستن علت وقوع این ارور، با طی کوتاهترین مسیر میتوانید این ارورها را برطرف کنید.
کلودفلر این کار را با کدگذاری خطاها (نامگذاری هر خطا با یک عدد مشخص) کوتاهتر کرده است. کافی است شما کد خطای خود را در لیست زیر بیابید و نحوهٔ برطرف کردن آن را بخوانید؛ اما پیش از آن که به سراغ ارورها برویم، اجازه بدهید چند نکته را با یکدیگر مرور کنیم.
در بخشهای پایان این مقاله، روش رفع انواع خطای ۵۰۰ را توضیح دادهایم.
۳ روش رفع ارور ۵۰۰ برای کاربران سایت
ارور ۵۰۰ به طور معمول ارتباطی به بازدیدکنندگان ندارد. پس احتمالاً اگر مشکل فنی وجود داشته باشد، بازدیدکنندگان سایت نمیتوانند آن را برطرف کنند. گاهی پیش میآید که ارور ۵۰۰ نمایش داده میشود اما مشکلی وجود ندارد. بنابراین به عنوان کاربر برای رفع خطای ۵۰۰ در نمایشگر ابتدا صفحه را Refresh کنید.
یعنی کلیدهای Ctrl+F5 را همزمان فشار بدهید. اگر پس از لود مجدد صفحه باز هم خطا ۵۰۰ را مشاهده کردید، بهتر است کش مرورگر را پاک کنید. در یک مقالهٔ دیگر دربارهٔ حذف کش مرورگر به طور کامل صحبت کردهایم.
اگر باز هم نتیجهای حاصل نشد، مرورگر خود را تغییر بدهید و آدرس صفحه را در مرورگر دیگری باز کنید.
اگر با این اقدامات هم نتیجهای نگرفتید، بایستی ارور را به اطلاع مدیران وبسایت برسانید تا آن را برطرف کنند. بنابراین به پشتیبانی یا هر راه دیگری که وبسایت برای تماس باز گذاشته است، مراجعه کنید.
راهکارهای برطرف کردن خطای ۵۰۰ در سایت خودمان
اگر سر و کلهٔ ارور ۵۰۰ حوالی سایتی که خودتان مدیریت میکنید، پیدا شود باید ابتدا بررسی کنید و ببینید چه اتفاقی افتاده است. یکی از روشهای معمول برای برطرف کردن خطاهای سایت وردپرسی فعال کردن دیباگ است. اما اجازه بدهید این راهکار را برای آخر نگهداریم. پیش از آن بررسی کنید و ببینید احتمال کدام یک از گزینههایی که در ادامه معرفی میکنیم بیشتر است و ترجیحاً از همان راهکار استفاده کنید.
-
آیا به تازگی قالب یا افزونهٔ جدیدی نصب کردهاید؟
اگر قالب یا افزونهای را نصب کردهاید که یا سایت شما سازگاری ندارد، دچار خطای ۵۰۰ میشوید. بنابراین اگر به تازگی نصب مشکوکی داشتهاید که زمان فعالسازیاش با دریافت ارور جور در میآید یک راهکار ساده پیش پایتان وجود دارد. از پیشخوان وردپرس مسیر Plugins > Installed Plugins را طی کنید. از لیست افزونهها اولین گزینه را غیرفعال کنید.
سپس برگردید و صفحه را refresh کنید. اگر ارور برطرف شده باشد یعنی این افزونه عامل مشکلساز بوده است. در غیر این صورت افزونه را مجدداً فعال کنید و به سراغ باقی لیست پلاگینها بروید.
اگر قالبها و افزونههای نصبی اخیر را یکییکی تست کردید و مشکلی وجود نداشت به سراغ راهکار بعدی بروید.
-
افزونهٔ WP Debugging را نصب کنید
افزونهای مثل WP Debugging میتواند در پیدا کردن دلیل بروز خطا به شما کمک کند. درواقع به جای دیباگ دستی از یک روش سریعتر و کمریسکتر استفاده میکنید. این افزونه به صورت خودکار عیبیابی را انجام میدهد و نتیجهٔ ویژوالی به شما میدهد. بنابراین میتوان گفت که راه سادهای برای پیدا کردن عامل مشکلساز است. هرچند که استفاده از این پلاگین یا سایر افزونههای عیبیابی عاری از خطا نیست. یادتان باشد پس از برطرف شدن مسئله برای بهینه نگه داشتن افزونههای وبسایت این پلاگین را حذف کنید و فایلهای آن را از دیتابیس پاک کنید.
-
آیا پیکربندی PHP را به درستی اجرا کردهاید؟
اگر مشکل مربوط به مهلت زمانی PHP است، برای حل این مشکل، قوانین مهلت زمانی یا مدیریت خطا را در اسکریپت خود ایجاد کنید. میتوانید به دستورالعملهای منتشر شدهٔ php.ini برای پیکربندی تنظیمات PHP در سطح وب مراجعه کنید.
علاوه بر این، مجوزهای اشتباه روی فایل یا پوشهای که دارای اسکریپت است (مثلاً اسکریپت PHP یا CGI) اجازهٔ اجرای اسکریپت را نمیدهد. مجوزهای خود را بررسی کنید و مطمئن شوید که آنها را به درستی در سرور خود تنظیم کردهاید.
-
کد فایل htaccess. سایت خود را بررسی کنید
کدنویسی نادرست یا ساختار نامناسب فایل htaccess شما میتواند دلیلی برای مشاهده خطای داخلی ۵۰۰ باشد. فایل .htaccess به شما کمک میکند تا مدیریت کنید که چه مدت منابع باید در حافظه پنهان مرورگر ذخیره شوند. اگر خطای سرور داخلی ۵۰۰ مشاهده کردید، فایل را ویرایش کنید.
برای مکان یابی فایل htaccess خود، از طریق یک مدیر فایل مانند cPanel یا از طریق FTP/SFTP به فایل های وب سایت خود دسترسی پیدا کنید. فایل احتمالاً در پوشه public_html شما قرار خواهد گرفت. این احتمال وجود دارد که سرور شما به طور پیش فرض این فایل را از دید پنهان کند و برای دیدن آن باید فایلهای مخفی را روشن کنید.
دایرکتوری فایل سرور که فایل htaccess را برای رفع خطای سرور داخلی http 500 برجسته میکند.
-
مطمئن شوید که نرم افزار جدید شما به درستی نصب شده است!
در نهایت، بررسی کنید که آیا نرمافزار اخیراً نصب شده یا ارتقا یافته شما واقعاً نصب یا ارتقاء پیدا نکرده است. برای تازه کردن نرم افزار خود، وب سایت فروشنده را برای دستورالعمل ها بررسی کنید.
به بنبست رسیدید؟
پس احتمالاً کار دیگری از شما ساخته نیست و واقعاً پای سرور درمیان است. بنابراین به پشتیبانی هاست خود تیکت بزنید و کمک بخواهید. کانفیگ حرفهای هاست باعث میشود با این دست مشکلات گلاویز نشوید.
خطای ۵۰۲: Bad Gateway یا خطای ۵۰۴ Gateway timeout
خطای HTTP 502 یا ۵۰۴ زمانی رخ میدهد که Cloudflare نتواند با وب سرور هاست شما ارتباط برقرار کند.
دو دلیل احتمالی برای بروز این خطا وجود دارد:
- ارور ۵۰۲/۵۰۴ از وبسرور اصلی شماست.
- منشا ارور ۵۰۲/۵۰۴ از Cloudflare است.
اگر منشا ارور وبسرور اصلی شما باشد، خطا به این ترتیب نمایش داده میشود:
اگر سایت شما با ارورهای ۵۰۴ (سرعت بسیار پایین لود صفحه) و یا گیت غیراستاندارد مواجه شود، کلودفلر درخواستهای ارسالی از سمت وبسرور را برمیگرداند و این ارور را نمایش میدهد.
✅ راهحل:
برای عیبیابی این خطا در وبسرور نیز بایستی با هاست خود تماس بگیرید. اما:
- مطمئن شوید که سرور اصلی هاست به درخواستهای بازدیدکنندگان برای نام میزبان و دامنه که خطای ۵۰۲ یا ۵۰۴ را ایجاد کرده است، پاسخ میدهد.
- از پشتیبانی هاست بخواهید امکان بارگیری بیشاز حد یا خرابی سرور یا شبکه را بررسی کنند.
- برنامهها یا سرویسهایی را که به پایان رسیده یا مسدود شدهاند، شناسایی کنید.
در صورتی که منشا خطای ۵۰۲ یا ۵۰۴ ناشی از Cloudflare باشد، در مرورگر بهصورت زیر نمایش داده میشود:
✅ راهحل:
اگر مشکل با یکی دوبار ریفرش کردن صفحه برطرف نشد، لازم است با پشتیبانی کلودفلر تماس بگیرید. برای جلوگیری از تاخیر در پردازش درخواست، این جزئیات ضروری را به پشتیبانی Cloudflare ارائه دهید:
- زمان و منطقه زمانی مشکل رخ داده است.
- URL که منجر به پاسخ HTTP 502 یا ۵۰۴ شده است. (مثلاً: https://www.example.com/images/icons/image1.png)
- خروجی از مرورگر بهصورت www.example.com/cdn-cgi/trace (بهجای www.example.com دامنه و نام میزبانی که باعث خطای HTTP 502 یا ۵۰۴ شده است)
خطای ۵۰۳: service temporarily unavailable
خطای HTTP 503 زمانی رخ میدهد که وب سرور اصلی شما لود بالا داشته باشد. دو دلیل احتمالی برای این خطا وجود دارد که خوشبختانه هر دو از طریق ظاهر پیام ارور مشخص میشود:
۱. در متن ارور یکی از عبارتهای «cloudflare» یا «cloudflare-nginx» بهصورت HTML وجود ندارد.
✅راهحل:
اگر با این ارور مواجه شدید،با شرکت هاستینگ تماس بگیرید و بخواهید بررسی کنند که درخواستهای وبسرور اصلی شما محدود میشوند یا خیر.
۲. در متن ارور یکی از عبارتهای «cloudflare» یا «cloudflare-nginx» بهصورت HTML وجود دارد.
✅ راهحل:
برای رفع این ارور از ارورهای دسته ۵۰۰ کلودفلر، با پشتیبانی Cloudflare تماس بگیرید و اطلاعات زیر را ارائه کنید:
- نام دامنه شما
- زمان و منطقه زمانی وقوع خطای ۵۰۳
- خروجی www.example.com/cdn-cgi/trace از مرورگری که در آن خطای ۵۰۳ مشاهده شده است. (بهجای www.example.com با دامنه و نام میزبان واقعی خود)
خطای ۵۲۰: web server returns an unknown error
خطای ۵۲۰ زمانی رخ میدهد که سرور هاست یک پاسخ خالی، ناشناخته یا غیرمنتظره را به Cloudflare برمیگرداند.
✅ راهحل:
اولین و سادهترین کاری که میتوانید برای رفع ارور ۵۲۰ انجام بدهید، متوقف کردن Cloudflare یا ایجاد رکوردهای DNS فقط از طریق برنامهٔ کلودفلر بهنام cloudflare dns app است؛ البته این راهکار چندان حرفهای و دقیق نیست.
برای راهکارهای دقیقتر با ارائهدهندهٔ هاست یا مدیر سایت خود تماس بگیرید و درخواست بررسی لاگ خطای وبسرور اصلی خود را برای خرابیها بدهید. از توسعهدهنده یا پشتیبان هاست بخواهید بررسی کند و ببیند که آیا احتمالاً یکی از مشکلات رایج زیر رخ دادهاند یا خیر:
- برنامه وبسرور هاست از کار افتاده است.
- IPهای Cloudflare در سرور هاست شما مجاز به شمار نمیروند؛ یعنی یا توسط سرور میزبان مسدود شدهاند و یا در وایتلیست سرور اضافه نشدهاند.
- هدرهای بیش از ۱۶ کیلوبایت (که معمولاً به دلیل تعداد زیاد کوکیها اتفاق میافتد و برطرف کردن این مشکل در حوزه مهارتهای طراح یا توسعهدهندهٔ سایت است.)
- پاسخ ناشناختهای از وبسرور به سمت کلودفلر ارسال شده و باید توسط مدیر سرور یا شرکت هاستینگ بررسی شود.
- response header از دست رفته یا وبسرور هاست پاسخهای خطای HTTP مناسب را بر نمیگرداند.
اگر متن «upstream prematurely closed connection while reading response header from upstream» را در لاگ میبینید، معنایش این است که وبسرور اصلی در واکشی داده یا یافتن منابع سرور مشکل دارد و نمیتواند هیچ دادهای را به موقع برگرداند. اگر هم وبسرور مبدا پس از برقراری اتصال، درخواست منبع را تأیید کند (ACK)، اما پاسخ به موقع ارسال نکند، یک خطای ۵۲۲ رخ میدهد.
در صورتی که پس از تماس با ارائهدهنده هاست یا مدیر سایت خود، خطاهای ۵۲۰ ادامه یافت، اطلاعات زیر را به پشتیبانی Cloudflare ارائه دهید:
- URL(های) کامل منبع درخواستشده هنگام بروز خطا
- Cloudflare cf-ray از پیام خطای ۵۲۰ (CF ray کلودفلر یک شناسهٔ منحصربهفرد در ریسپانس هدر کلودفلر است که اطلاعات مهمی را در بردارد. مثل این که آیا منابع سایت شما از طریق کلودفلر ارائه شدهاند یا خیر؟ آیا این منابع در حافظه پنهان بودهاند یا خیر؟)
- خروجی از http://www.example.com/cdn-cgi/trace (بهجای www.example.com با نام میزبان و دامنه خود که در آن خطای ۵۲۰ رخ داده است)
- دو فایل HAR که در یکی از آنها ابرهای کلودفلر روشن و در دیگری به صورت موقت خاموش شده باشند.
ارور ۵۲۱: web server is down
خطای ۵۲۱ زمانی رخ میدهد که وبسرور هاست، درخواست اتصال Cloudflare را رد کند. ممکن است سرورهای اصلی هاست شما از قوانین امنیتی پیروی کنند که دسترسی کلودفلر به IPهای خاص را مسدود میکند.
دو دلیل رایج برای خطاهای ۵۲۱ عبارتند از:
- برنامه وبسرو هاست آفلاین باشد.
- درخواستهای Cloudflare مسدود شوند.
✅ راهحل:
برای برطرف کردن این مشکل، پیشنهاد میکنیم ابتدا اجرای نظرسنجی وضعیت فرآیندهای HTTP بزرگ برای جلوگیری از برخورد با این خطا را امتحان کنید.
اگر مشکل همچنان پابرجا بود، با هاستینگ خود تماس بگیرید و بخواهید امکان وجود یکی از مشکلات رایج زیر را بررسی کنند:
- اطمینان حاصل کنید که وبسرور اصلی شما پاسخگو باشد.
- گزارشهای خطای وبسرور هاست را برای تشخیص خرابی یا قطعی برنامه وبسرور مرور کنید.
- تأیید کنید که آدرسهای IP Cloudflare مسدود نشدهاند. (یا در حد بسیار کمی مسدود شدهاند.)
- همه محدودههای IP Cloudflare را در فایروال وبسرور اصلی خود یا سایر نرمافزارهای امنیتی مجاز کنید.
- تأیید کنید – اگر حالت SSL/TLS خود را روی Full یا Full (Strict) تنظیم کردهاید – یک گواهی در مبدا Cloudflare نصب کردهاید.
خطای ۵۲۲: connection timed out
خطای ۵۲۲ زمانی رخ میدهد که Cloudflare زمان تماس با وبسرور را تمام میکند یا بهبیان دیگر اتصال Timeout میشود. حالا این تایماوت، بسته به این که چه زمانی اتصال بین کلودفلر و وبسرور قطع میشود، دو نوع مختلف از خطای HTTP 522 را نشان میدهد:
- اگر پیش از ایجاد ارتباط و پس از ارسال SYN از سمت کلودفلر، وبسرور نتواند در عرض ۱۵ ثانیه SYN+ACK را ارسال کند، این ارور نمایش داده میشود.
- در صورتی که بعد از برقراری ارتباط، وبسرور نتواند در عرض ۹۰ ثانیه مبدا درخواست (ACK) کلودفلر را تایید کند، خطای ۵۲۲ نمایش داده میشود.
✅ راهحل:
برای تشخیص دلیل بروز ارور، از پشتیبانی هاست خود بخواهید موارد زیر را بررسی کند:
- معمولاً این ارور به دلیل مسدود یا محدود شدن آدرسهای آیپی کلودفلر در htaccess. و iptables رخ میدهد. هاست شما بایستی به آدرسهای IP کلودفلر اجازه دسترسی بدهد.
- ریشه مشکل میتواند این باشد که وبسرور آفلاین یا بارگیری شده درخواستهای دریافتی را حذف کند.
- ممکن است آدرس IP هاست در برنامه Cloudflare DNS شما با آدرس IP ارائه شده فعلی هاست مطابقت نداشته باشد.
- ممکن است بستهها در وبسرور اصلی شما رها شده باشند.
- اگر از صفحات Cloudflare استفاده می کنید، بررسی کنید که دامنه سفارشی تنظیم کردهاید و رکورد CNAME شما (یکی از رکوردهایی که در بخش DNS settings تنظیم میشود) به دامنهٔ صفحات سفارشی شما اشاره دارد.
اگر هیچ یک از موارد بالا منجر به حل ارور نشد، قبل از تماس با پشتیبانی Cloudflare، اطلاعات زیر را از پشتیبانی هاست یا مدیر سایت خود درخواست کنید:
- MTR یا traceroute از وبسرور اصلی شما به آدرس IP Cloudflare که معمولاً قبل از بروز مشکل به وبسرور اصلی شما متصل شده،
- IP اتصال کلودفلر را که در گزارشهای وبسرور اصلی ثبت شده،
- جزئیات کارهایی که شرکت هاستینگ برای حل این مشکل انجام داده. (مثلاً اگر گزارشی به شما داده شده آن را ارسال کنید یا تصویر مکالمه را برای کلودفلر ارسال کنید.)
ارور ۵۲۳: origin is unreachable
خطای ۵۲۳ زمانی رخ میدهد که کلودفلر نتواند با وبسرور اصلی شما تماس بگیرد. یعنی یک دستگاه در شبکه بین کلودفلر و وبسرور، به آدرس IP مبدا دسترسی نداشته باشد.
✅ راهحل:
برای حل این مشکل هم بایستی با هاستینگ تماس بگیرید و دلایل رایج زیر را بجویید:
- مطمئن شوید آدرس ip سرور مبدا به صورت صحیح و در قالب A یا AAAA رکورد در بخش dns settings کلودفلر تنظیم شده باشد.
- مشکلات مسیریابی اینترنت را بین مبدا خود و کلودفلر عیبیابی کنید.
اگر هیچ کدام از این موارد کمکی نکرد، اطلاعات زیر را از شرکت میزبانی یا مدیر سایت درخواست کنید و به پشتیبانی کلودفلر ارسال کنید:
- MTR یا traceroute از وبسرور اصلی شما به آدرس IP Cloudflare که معمولاً قبل از بروز مشکل به وبسرور اصلی شما متصل میشود.
- IP اتصال کلودفلر را از لاگ های وب سرور مبدا شناسایی کنید.
ارور ۵۲۴: a timeout occurred
معنای خطای ۵۲۴ این است که کلودفلر با موفقیت به وبسرور وصل شده است، اما مبدا نتوانسته است پاسخ HTTP را پیش از اتمام زمان پیشفرض ۱۰۰ ثانیه ارائه کند.
مثلاً اگر سرور مبدا خیلی مشغول باشد (دادههای بزرگی برای پردازش داشته باشد یا در یافتن منابع مشکل داشته باشد)؛ زمان ارسال پاسخ بیش از حد طولانی میشود.
✅ راهحل:
برای رفع این خطا، چند راهکار وجود دارد:
اگر از سرور اختصاصی استفاده میکنید، خودتان آستینها را بالا بزنید و وضعیت فرآیندهای HTTP بزرگ را تست کنید.
اگر این کار جواب نداد یا به هر دلیلی نتوانستید فرآیندها را تست کنید، با پشتیبانی هاست تماس بگیرید و بخواهید دلایل رایج زیر را بررسی کنند:
- یک فرآیند طولانی مدت در وب سرور مبدا در حال اجرا است.
- بارگیری بیش از حد در وبسرور مبدا
- اگر مرتباً درخواستهایی ارسال میکنید که بیش از ۱۰۰ ثانیه زمان برای بارگذاری نیاز دارند (مثل ارسال بیگدیتا که حجم بسیار بالایی از اطلاعات دادهمحور است که ویژگی مشخص دارند و برای هدف خاصی جمع آوری شدهاند.) لازم است در برنامه Cloudflare DNS این فرآیندها را پشت سابدامین بدون پروکسی ببرید.
- اگر خطای ۵۲۴ برای دامنهای روی Cloudflare Railgun رخ داده است، مطمئن شوید که lan.timeout بالاتر از پیش فرض ۳۰ ثانیه تنظیم شده و سرویس railgun را مجدداً راهاندازی کنید.
ارور ۵۲۵: SSL handshake failed
خطاهای ۵۲۵ نشان میدهند که رمزگذاری کلید عمومی (handshake SSL) بین کلودفلر و وبسرور اصلی ناموفق بوده است. پروتکل هندشیک، نوعی پروتکل دامنه برای واگذاری مالکیت دامنههای سطح بالا بهصورت مستقیم و بدون واسطه به کاربران است.
در مقالهٔ «دامنه هندشیک (HNS) چیست؟ + کاربردهای Handshake domain» بیشتر در این باره توضیح دادهایم.
خطای ۵۲۵ در یکی از این دو حالت رخ میدهد:
۱. فرآیند رمزگذاری عمومی شکست خورده باشد.
۲. SSL کامل (Strict) در برگه نمای کلی برنامه کلودفلر بخش SSL/TLS تنظیم شده است.
اگر ارائهدهنده هاست شما بهطور مکرر آدرس IP وبسرور اصلی را تغییر میدهد، لازم است DDNS (DNSهایی که از آیپی داینامیک استفاده میکنند) را بهروز کنید.
✅ راهحل:
با شرکت هاستینگ تماس بگیرید و بخواهید احتمالات زیر را بررسی کنند:
- گواهی SSL معتبری نصب نشده باشد.
- پورت ۴۴۳ (یا هر درگاه ایمن سفارشی دیگری) باز نباشد.
- از SNI پشتیبانی نشود.
- مجموعه رمزهای پذیرفته شده توسط کلودفلر با مجموعه رمزهای پشتیبانی شده توسط وبسرور اصلی مطابقت نداشته باشد.
اگر خطاهای ۵۲۵ بهطور متناوب رخ میدهد، لاگهای خطای وبسرور مبدا را برای تعیین علت بررسی کنید.
ارور ۵۲۶: invalid SSL certificate
اگر با این خطا مواجه شدهاید، احتمالاً در دام یکی از مشکلات زیر افتادهاید:
- کلودفلر نمیتواند گواهی SSL را در وبسرور اصلی شما تأیید کند.
- این که SSL کامل (Strict) در برگهٔ نمای کلی برنامه Cloudflare SSL/TLS شما تنظیم شده است.
✅ راهحل:
برای اینکه هرچه سریعتر از شر این خطا خلاص شوید، بایستی SSL را در برگه نمای کلی برنامه Cloudflare SSL/TLS بهجای (Strict) Full روی full تنظیم کنید.
اگر خودتان دسترسی و تسلط کامل دارید که خب این کار را انجام دهید؛ در غیر اینصورت از پشتیبانی هاست بخواهید بررسی و تأیید کند که:
- گواهی SSL منقضی نشده باشد.
- گواهی SSL باطل نشده باشد.
- گواهی توسط یک مرجع صدور، امضا شده باشد.
- نام دامنه درخواستی و نام میزبانی در بخشهای Common Name یا Subject Alternative Name گواهینامه SSL درج شده باشد.
- وبسرور اصلی شما اتصالات مربوط به SSL را از پورت ۴۴۳ دریافت کند.
در تصویر زیر میتوانید یک ساختار درست SSL (که برای دامنه فرضی www.example.com تنظیم شده است) را ببینید:
راهکار سریع اما نهچندان مطمئن هم این است که کلودفلر را موقتاً متوقف کنید.
خطای ۵۲۷: Railgun Listener to origin error
بروز خطای ۵۲۷ نشان میدهد که اتصال میان کلودفلر و سرور Railgun اصلی شما (rg-listener) است. دلایل رایج بروز این ارور عبارتند از:
- تداخل فایروال
- حوادث شبکه یا از دسترفتن بسته بین سرور Railgun و Cloudflare
- وقفههای زمانی در اتصال
- مدت زمان LAN بیشازحد مجاز
- امتناع یکی از طرفین از اتصال
- خطاهای مربوط به TLS/SSL
در صورت تماس با پشتیبانی Cloudflare، اطلاعات زیر را از Railgun Listener ارائه دهید:
- محتوای کامل فایل railgun.conf
- محتوای کامل فایل railgun-nat.conf
- فایل های لاگ Railgun th
- با جزئیات خطاهای مشاهده شده
- وقفههای زمانی اتصال
یادتان باشد که خطاهای لاگ Railgun زیر نشاندهندهٔ نقص اتصال بین Railgun Listener و وبسرور اصلی شما است:
- connection failed 0.0.0.0:443/example.com: dial tcp 0.0.0.0:443: i/o timeout
- no response from origin (timeout) 0.0.0.0:80/example.com
✅ راهحل:
برای حل این مشکل هم بایستی از پشتیبانی هاست خود کمک بگیرید تا بتوانید اتصال بین وبسرور و Railgun را تست کنید. در صورتی که از سرور اختصاصی استفاده میکنید، میتوانید یک فرمان netcat اتصال را هنگامی که از Railgun Listener به سرور اصلی وبسرور SERVERIP و PORT اجرا میشود (۸۰ برای HTTP یا ۴۴۳ برای HTTPS) را تست کنید:
nc -vz SERVERIP PORT
اگر مدت زمان LAN بیش از حد مجاز است!
اگر وب سرور مبدا پاسخ HTTP را در بازه زمانی پیشفرض ۳۰ ثانیهای به Railgun Listener ارسال نکند، خطای گزارش زیر Railgun Listener ایجاد میشود. میتوانید گزارشهای ریلگان در کلودفلر را از مسیر /var/log/railgun/panic.log پیدا کنید.
connection failed 0.0.0.0:443/example.com: dial tcp 0.0.0.0:443: i/o timeout
✅ راهحل:
دو راه پیشروی شماست: یا محدودیت lan.timeout را در railgun.conf افزایش دهید یا پیکربندی وب سرور را بررسی کنید. برای تأیید اینکه آیا سرور وب مبدا بیش از حد بارگیری شده یا نه، با پشتیبان هاست خود تماس بگیرید.
اگر مشکل امتناع از اتصال است!
هنگامی که درخواستهای شنونده Railgun رد میشوند، خطاهای زیر در گزارشهای Railgun ظاهر میشوند. میتوانید گزارشهای ریلگان در کلودفلر را از مسیر /var/log/railgun/panic.log پیدا کنید.
Error getting page: dial tcp 0.0.0.0:80:connection refused
✅ راهحل:
IP شنونده Railgun خود را در فایروال وب سرور اصلی خود مجاز کنید.
خطاهای مربوط به TLS/SSL
اگر اتصالات TLS خراب شود، خطاهای زیر در گزارش های Railgun ظاهر میشود:
- connection failed 0.0.0.0:443/example.com: remote error: handshake failure
- connection failed 0.0.0.0:443/example.com: dial tcp 0.0.0.0:443:connection refused
- connection failed 127.0.0.1:443/www.example.com: x509: certificate is valid for
- example.com, not www.example.com
✅ راهحل:
اگر یکی از خطاهای TLS/SSL رخ دهد، باید موارد زیر را در وبسرور اصلی بررسی کنید و مطمئن شوید که:
- پورت ۴۴۳ باز است.
- یک گواهی SSL توسط وب سرور مبدا ارائه می شود.
- SAN یا نام مشترک گواهی SSL وبسرور، نام میزبان درخواستی را در خود دارد.
- SSL در برگه نمای کلی برنامه Cloudflare SSL/TLS روی Full یا Full (Strict) تنظیم شده است.
- اگر گواهی SSL وب سرور اصلی شما امضا شده است، validate.cert=0 را در railgun.conf تنظیم کنید.
آنچه درباره ارورهای دسته ۵۰۰ در کلودفلر باقی میماند!
همانطور که در توضیحات هر یک از ارورهای دسته ۵۰۰ در کلودفلر خواندید، شما به همراهی تیم پشتیبانی نیاز دارید. چرا که CDNها معمولاً در دسترسی مستقیم کاربران میزبانی قرار ندارند و نیاز است که از سمت پشتیبان هاست اقدام شود.
کار ما هنوز با ارورهای Cloudflare تمام نشده است! دو لیست دیگر شامل ارورهای ۱XXXX و ۱XXX در کلودفلر و نحوهٔ برطرف کردن آنها باقی ماندهاند که خیلی زود در مقالات دیگری در وبلاگ لیموهاست، بهطور جداگانه آنها را بررسی خواهیم کرد.
با تمام تفاسیر، اگر هنوز سوالی دربارهٔ این ارورها در سر دارید، از بخش نظرات زیر همین پست از ما بپرسید و از کارشناسان ما پاسخ بگیرید. همچنین میتوانید تجربیات کاربردی خود در این باره را با سایر کاربران به اشتراک بگذارید.
سوالات متداول
- رفع ارور ۵۰۰ وردپرس چگونه است؟
روشهای زیادی برای برطرف کردن خطای ۵۰۰ در وردپرس وجود دارد. بهتر است ابتدا با استفاده از افزونه یا به روش دستی دیباگ را انجام بدهید تا منشا مشکل را پیدا کنید.
- علت ارور ۵۰۰ در پرستاشاپ چیست و چگونه برطرف میشود؟
اغلب اوقات به دلیل خطاهایی که در نصب ماژولها رخ میدهد در پرستاشاپ با ارور ۵۰۰ مواجه میشوید. اما برای درک بهتر مسئله بهتر است ابتدا حالت دیباگ را فعال کنید و بعد دلیل خطا را تشخیص بدهید.
- آیا هاست یا سرور تاثیری روی خطای ۵۰۰ دارد؟
Ownership نادرست در هاست تنها یکی از دلایل بروز ارور ۵۰۰ در وردپرس است. میتوان گفت اگر هاست وردپرس با پشتیبانی مناسبی داشته باشید کمتر در معرض عواقب ارورهای وردپرس قرار میگیرید.
دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید