راهنمای حل خطای ERR_CONNECTION_TIMED_OUT

How to Fix the ERR_CONNECTION_TIMED_OUT Error

راهنمای حل خطای معروف ERR_CONNECTION_TIMED_OUT

حتما تا به حال در مرورگر خود با خطای ERR_CONNECTION_TIMED_OUT روبرو شده اید و همه می دانیم که معنی آن طولانی شدن زمان پاسخ به درخواست مرورگر است (معمولا به دلیل مشکل در اتصال شبکه) اما این دقیقا چه معنی دارد؟ در این مقاله سعی می کنیم به صورت جزئی تر و با نگاه به مسائل فنی برایتان توضیح دهیم که منشا این مشکل از چه قسمت هایی بوده و راه حل آن چیست. تمرکز ما روی وب سایت های وردپرسی خواهد بود اما کلیت مسائل مطرح شده در این مقاله برای اکثر سایت ها صادق است و می توانید از آن استفاده کنید.

خطای ERR_CONNECTION_TIMED_OUT چیست؟

بر اساس documentation وب سایت wordpress خطای ERR_CONNECTION_TIMED_OUT زمانی اتفاق می افتد که وب سایت شما بار کاری بیش از حد توانش را داشته باشد. این مسئله معمولا در هاست های اشتراکی اتفاق می افتد که مموری سرور را محدود می کنند. در واقع زمانی که شما به وب سایت خاصی می روید (ورود آدرس در مرورگر) مرورگر تا حدود 30 ثانیه سعی می کند به آدرس وارد شده متصل شود اما بعد از آن اتصال را قطع کرده و خطای ERR_CONNECTION_TIMED_OUT را نمایش می دهد. البته این خطا معمولا به شکل هایی غیر از خود این خطا نمایش داده می شود! به طور مثال در گوگل کروم خطایی شبیه به This site can’t be reached. Domain.com took too long to respond را دریافت می کنید:

خطای ERR_CONNECTION_TIMED_OUT در مرورگر کروم
خطای ERR_CONNECTION_TIMED_OUT در مرورگر کروم

در فایرفاکس با خطای The connection has timed out مواجه می شوید:

خطای ERR_CONNECTION_TIMED_OUT در مرورگر فایرفاکس
خطای ERR_CONNECTION_TIMED_OUT در مرورگر فایرفاکس

در Edge با خطای Hmmm… can’t reach this page. Domain.com took too long to respond مواجه می شوید:

خطای ERR_CONNECTION_TIMED_OUT در مرورگر Edge
خطای ERR_CONNECTION_TIMED_OUT در مرورگر Edge

مرورگر سافاری نیز پیام Safari Can’t Open the Page. Safari can’t open the page domain.com because the server where this page is located isn’t responding را به شما نمایش می دهد:

خطای ERR_CONNECTION_TIMED_OUT در مرورگر سافاری
خطای ERR_CONNECTION_TIMED_OUT در مرورگر سافاری

حل خطای ERR_CONNECTION_TIMED_OUT

برای حل خطای ERR_CONNECTION_TIMED_OUT همیشه نیاز به اطلاعات بیشتری داریم چرا که منشا این خطا ممکن است از سمت کاربر (مشکلات شبکه و فایروال) و یا از سمت سرور (محدودیت های مموری و...) باشد بنابراین برای حل این مشکل ابتدا منشأ آن را تشخیص دهیم.

قدم 1: اتصال خود را چک کنید

تمامی مرورگرهای مدرن مثل کروم و فایرفاکس به شما پیشنهاد می دهند که قبل از هر کاری اتصال خود را چک کنید. شاید در وهله اول این مسئله بدیهی به نظر برسد اما دلیل اصلی اکثر خطاهای ERR_CONNECTION_TIMED_OUT قطع اتصال یا مشکل در اتصال کاربر است.

پیشنهاد می شود ابتدا مودم خود را خاموش و روشن کنید چرا که برخی از مودم ها دارای تنظیمات خاصی هستند و ممکن است در اثر استفاده طولانی مدت مشکل خاصی پیدا کنند. ریستارت کردن مودم باعث رفع اکثر این مشکلات می شود. همچنین باید سرعت اتصال خود را بررسی کنید چرا که ممکن است به دلیل وجود اختلالات در شبکه شما یا ضعیف بودن اینترنت شما (مخصوصا کاربران ایرانی) نتوانید به وب سایت خود متصل شده و با خطای ERR_CONNECTION_TIMED_OUT مواجه شوید.

قدم 2: firewall یا آنتی ویروس خود را غیرفعال کنید

Firewall و آنتی ویروس ها برای حفاظت از دستگاه ما واجب هستند اما برخی اوقات باعث مشکل در اتصال می شوند. به طور مثال آن ها می توانند وب سایت ما را به اشتباه یک وب سایت خطرناک تلقی کرده و اجازه اتصال به آن را ندهند. این مورد در آنتی ویروس هایی مثل AVG بسیار زیاد رخ می دهد. همچنین برخی از آنتی ویروس ها حتما باید ترافیک شما و وب سایت مورد نظر را چک کنند تا مطمئن شوند اتصال امن است و اگر در این فرآیند اختلالی به وجود بیاید دیگر اجازه اتصال را به ما نمی دهند.

البته باید حواستان باشد که آنتی ویروس را فقط برای وب سایتی غیرفعال کنید که از آن مطمئن هستید نه هر وب سایتی! همچنین این عملیات باید موقت باشد و نباید برای دسترسی به یک وب سایت همیشه آنتی ویروس خود را غیرفعال بگذارید. بسیاری از این آنتی ویروس ها چیزی به نام false-positive (به معنی «جواب مثبت اشتباه» که منظور تشخیص و گزارش اشتباه است) دارند و اگر مطمئن هستید که وب سایت شما به اشتباه توسط این آنتی ویروس ها بلاک شده است می توانید در وب سایت آن ها گزارش بنویسید. به طور مثال من 3 صفحه گزارش خطا از آنتی ویروس های AVG و Norton و Sophos را برایتان قرار داده ام:

قدم 3: پراکسی را غیرفعال کنید

اگر از سرویس های پراکسی استفاده می کنید ممکن است با چنین مشکلی مواجه شوید البته احتمال آن بسیار پایین بوده و به ندرت رخ می دهد. برخی اوقات نیز به دلیل استفاده از نرم افزارهای غیر مطمئن، پراکسی ها به صورت خودکار روی سیستم شما تنظیم می شوند.

به طور مثال برای بررسی وضعیت پراکسی های مرورگر کروم به Settings آن رفته و به قسمت System نگاه کنید. اگر قسمت system را ندارید باید روی دکمه advanced در انتهای صفحه کلیک کنید. سپس در زیر System گزینه Open proxy settings را مشاهده خواهید کرد:

تنظیمات پراکسی در گوگل کروم
تنظیمات پراکسی در گوگل کروم

از این قسمت می توانید به راحتی اتصال خود به یک پراکسی را چک کنید. اگر کاربر ویندوز هستید می توانید از قسمت تنظیمات شبکه (قسمت Local Area Network (LAN) Settings) به قسمت LAN Settings رفته و تیک گزینه Use a proxy server for your LAN را بردارید:

برداشتن گزینه ی use proxy
برداشتن گزینه use proxy

 اما اگر کاربر مک هستید از تنظیمات Network به سربرگ Proxies رفته و اتصال خود به پراکسی های موجود را چک کنید:

قسمت پراکسی ها برای کاربران مک
قسمت پراکسی ها برای کاربران مک

البته این موضوع برای VPN ها نیز صادق است و شما موظف به چک کردن تمامی اتصالات خود هستید.

قدم 4: سرورهای DNS را تغییر دهید

ممکن است مشکل شما به دلیل همخوانی نداشتن سرورهای DNS شما باشد. در واقع DNS های شما به صورت خودکار و توسط شرکت ارائه دهنده اینترنت (ISP) مثل مخابرات، شاتل، ایرانسل و... تنظیم می شوند اما ممکن است DNS های آن ها با سایت شما همخوانی نداشته باشند.

راه حل استفاده از سرورهای DNS جایگزین گوگل و CloudFlare است:

  • DNS عمومی گوگل دو سرور 8.8.8.8 و  8.8.4.4 می باشد و کاملا مطمئن هستند.
  • DNS های CloudFlare نیز بسیار سریع و پرقدرت هستند (در اکثر تست ها از گوگل نیز جلوتر بوده اند). دو آدرس 1.1.1.1 و 1.0.0.1 نیز متعلق به این DNS بوده و برای همه قابل استفاده می باشد.

نکته: اگر از یک سرویس خاص DNS استفاده می کنید، پیشنهاد می کنم که آن را غیرفعال کرده و دوباره سعی کنید به وب سایت خود متصل شوید. حتی گوگل و CloudFlare نیز ممکن است دچار مشکلاتی باشند و غیرفعال کردن آن ها می تواند مشکل شما را حل کند.

فرآیند تغییر DNS برای کاربران ویندوز و مک

در ویندوز وارد control panel شده و به مسیر Network and Internet و سپس Network and Sharing Center بروید و از قسمت راست روی Change Adapter Settings کلیک کنید:

گزینه ی Change Adapter Settings در تنظیمات شبکه ویندوز
گزینه Change Adapter Settings در تنظیمات شبکه ویندوز

حالا روی connection خود کلیک راست کرده و Properties را انتخاب کنید. connection شما یا از نوع Local Area Connection است و یا Wireless Network Connection که برای ما اهمیتی ندارد:

کلیک راست و باز کردن تنظیمات connection
کلیک راست و باز کردن تنظیمات connection

از پنجره باز شده Internet Protocol Version 4 (یا اگر دوست دارید نسخه 6) را باز کنید (کلیک روی دکمه properties):

کلیک روی properties برای تنظیم کردن Internet Protocol Version 4
کلیک روی properties برای تنظیم کردن Internet Protocol Version 4

قبل از انجام هر تغییری باید از تنظیمات فعلی عکس بگیرید تا در آینده بتوانید به همین تنظیمات برگردید، سپس در پنجره باز شده روی Use the following DNS server addresses کلیک کرده و تنظیمات را وارد کنید.

برای IPv4: آدرس های 1.1.1.1  و 1.0.0.1

برای IPv6: آدرس های 1111::2606:4700:4700 و 1001::2606:4700:4700

تنظیم آدرس سرور های DNS جدید
تنظیم آدرس سرورهای DNS جدید

سپس تغییرات را ذخیره کرده و کامپیوتر خود را ریستارت کنید.

کاربران مک نیز می توانند با مراجعه به System Preferences و مراجعه به قسمت Network و سپس کلیک روی گزینه Advanced، به سربرگ DNS رفته و تنظیمات خود را اعمال کنند:

تنظیمات DNS برای کاربران مک
تنظیمات DNS برای کاربران مک

همچنین توجه داشته باشید که DNS های دامنه شما نیز باید به شکل صحیح روی سرور تنظیم شده باشند. اکثر وب سایت های میزبانی قسمتی را برای توضیح این مسئله دارند و می توانید از طریق تیکت پشتیبانی در مورد مشکل خود سوال کنید.

قدم 5: عملیات flush کردن DNS ها

این کار شبیه به پاک کردن کش (cache) مرورگر است اما در واقع کش DNS ها را پاک می کنیم. به طور مثال امکان دارد که URL شما در سرور DNS یا کامپیوتر خودتان تبدیل به IP صحیح سایت نمی شود بنابراین به چنین مشکلی برمی خورید.

کاربران ویندوز برای انجام این کار باید command prompt را باز کرده و دستور زیر را در آن تایپ کنند:

ipconfig /flushdns
اجرای دستور flush کردن DNS ها
اجرای دستور flush کردن DNS ها

پیام Successfully flushed the DNS resolver Cache یعنی عملیات موفقیت آمیز بوده است.

کاربران مک نیز باید ترمینال خود را باز کرده و دستور زیر را در آن تایپ کنند:

dscacheutil -flushcache
پاک کردن کش DNS برای کاربران مک از طریق ترمینال
پاک کردن کش DNS برای کاربران مک از طریق ترمینال

در مک هیچ پیامی مبنی بر موفقیت آمیز بودن نمایش داده نمی شود.

قدم 6: فایل های هاست خود را چک کنید

هر کامپیوتری فایلی دارد که به فایل local hosts معروف است و دارای DNSهای خاص برای وب سایت های خاصی است. معمولا فقط زمانی این فایل را ویرایش می کنیم که بخواهیم دامنه هایمان را روی یک سرور جدید بگذاریم. این فایل ممکن است طی عملیات های ناخواسته و مختلفی تغییر پیدا کند بنابراین بهتر است که این فایل را نیز چک کنیم.

این نوع فایل ها معمولا دسترسی سطح administrator می خواهند بنابراین برای ویرایش آن ها ابتدا ویرایشگر خود را به صورت run as administrator باز کنید. سپس به آدرس زیر بروید:

C:\Windows\System32\drivers\etc\

در اینجا فایل hosts را خواهید دید:

فایل hosts در ویندوز
فایل hosts در ویندوز

اگر وب سایت مورد نظر شما درون این فایل قرار داشت، حتما آن را حذف کرده و فایل را دوباره ذخیره کنید.

برای کاربران مک هم پیشنهاد می کنم که از نرم افزار رایگان Gas Mask استفاده کنند تا کارشان راحت تر شود، در غیر این صورت باید Terminal را باز کرده و دستور زیر را در آن تایپ کنید:

sudo nano /private/etc/hosts

مطمئن شوید که وب سایت مورد نظر شما در لیست برگردانده شده وجود ندارد.

قدم 7: کش مرورگر را پاک کنید

همانطور که می دانید مرورگرها اطلاعات خاصی مثل کوکی ها و تاریخچه بازدید را درون خودشان ذخیره می کنند تا دفعات بعد نیاز به دانلود دوباره موارد نداشته باشیم. قبل از پاک کردن کش های مرورگر بهتر است یک پنجره incognito در مرورگر خود باز کنید. این پنجره باعث می شود از هیچ cache خاصی استفاده نشود. اگر مشکل شما در incognito از بین رفت یعنی مشکل از کش مرورگر است اما اگر باز هم همان مشکل را داشتید، کش مرورگر را رها کنید.

پاک کردن حافظه کش مرورگرها بسیار ساده است. به طور مثال در کروم می توانیم بر اساس تصاویر زیر عمل کنیم:

گزینه ی پاک کردن کش مرورگر کروم
گزینه پاک کردن کش مرورگر کروم
گزینه ی انتخاب تنظیمات حذف کش
گزینه انتخاب تنظیمات حذف کش

قدم 8: مقدار maximum execution time را بررسی کنید

مقدار maximum execution time یعنی مدتی که یک اسکریپت PHP اجازه اجرا شدن داشته باشد. این مقدار در حالت عادی روی خدمات اشتراکی میزبانی چیزی حدود 30 ثانیه یا کمتر است اما اگر نمی توانید هزینه بیشتری برای سرورهایتان بپردازید یکی از راه های جلوگیری از خطای ERR_CONNECTION_TIMED_OUT ارتقا مقدار maximum execution time است. البته از آنجایی که این مقدار باید از فایل php.ini ویرایش شود باید از طریق تیکت ها به پشتیبانی سایت خود اطلاع بدهید. برخی از وب سایت های هاستینگ درخواست شما برای افزایش این مقدار را قبول خواهند کرد.

اگر می خواهید خودتان این مقدار را افزایش دهید چند راه وجود دارد. عمل کردن این روش ها به روش پیکربندی سرورهای شما و نوع خدمات میزبانی شما بستگی دارد. در روش اول اگر به فایل php.ini دسترسی دارید باید به دنبال max_execution_time بگردید. برای مثال من آن را روی 300 ثانیه قرار داده ام:

max_execution_time = 300

اگر روش اول کار نکرد به سراغ روش دوم و فایل htaccess. می رویم. این فایل را باز کرده و دستور زیر را در آن کپی کنید:

php_value max_execution_time 300

قدم 9: غیرفعال کردن پلاگین ها

در وب سایت های وردپرسی همیشه پلاگین ها مضنون هر نوع مشکلی هستند بنابراین برای تست کردن این مسئله باید تمام پلاگین های وب سایت خود را غیرفعال کنید. مشکل اینجاست که با دریافت خطای ERR_CONNECTION_TIMED_OUT دیگر به داشبورد ادمین دسترسی ندارد بنابراین تنها راه باقی مانده استفاده از روش های SFTP مثل FileZilla است. زمانی که SFTP خود را راه اندازی کردید به واسطه آن به وب سایت وصل شده و به پوشه اصلی WordPress بروید (معمولا نام این پوشه چیزی شبیه به public_html یا www یا public و ... است). وارد این پوشه شده و سپس پوشه wp-content را پیدا کنید، داخل این پوشه یک پوشه دیگر به نام plugins وجود دارد که تمام پلاگین های موجود در سایت شما را در خود دارد (هم فعال ها و هم غیرفعال ها). نام این پوشه را به چیز دیگری مثل plugins.old تغییر دهید تا پلاگین هایتان غیرفعال شود.

اگر با غیرفعال شدن پلاگین ها سایت شما بالا آمد یعنی یکی از پلاگین ها باعث خرابکاری بوده است. حالا باید نام تک تک پوشه های پلاگین ها را تغییر داده و وب سایت را تست کنید تا پلاگین مشکل ساز را پیدا کنید.

قدم 10: برگشتن به تم اصلی

حالا که پلاگین ها را بررسی کرده ایم نوبت به بررسی تم های وردپرس می شود. تم های وردپرس نیز می توانند مانند پلاگین ها باعث خرابکاری شوند اما فرآیند غیرفعال کردن و برگشتن به تم پیش فرض آن قدر ها آسان نیست چرا که نمی توانیم پوشه تم ها را تغییر بدهیم. اگر نام پوشه تم ها را تغییر بدهیم با خطایی شبیه به The theme directory “theme name” does not exist مواجه می شویم.

برای حل کردن این مشکل باید به phpMyAdmin رفته و به دنبال جدول wp_options بگردید. سپس از بالای صفحه روی سربرگ Search کلیک کرده و در ردیف option_name به دنبال عبارت template بگردید. این فرآیند در تصویر زیر به خوبی مشخص شده است:

جست و جو در پایگاه داده و جدول wp_options - خطای ERR_CONNECTION_TIMED_OUT
جست و جو در پایگاه داده و جدول wp_options

با جست و جوی این عبارت، در زیر ستون option_value نام تم فعلی خود را پیدا خواهید کرد که باید آن را به صورت دستی به تم پیش فرض وردپرس، یعنی twentynineteen، تغییر دهید:

پیدا کردن نام تم وردپرس فعلی شما - خطای ERR_CONNECTION_TIMED_OUT
پیدا کردن نام تم وردپرس فعلی شما

حالا اگر سایت شما بالا می آید یعنی خطا به دلیل نصب تم جدید بوده است.

قدم 11: بالا بردن WP_MEMORY_LIMIT

پارامتر WP_MEMORY_LIMIT به شما اجازه می دهد که حداکثر مقدار مموری مصرفی توسط PHP را مشخص کنید. اگر از خدمات میزبانی اشتراکی استفاده می کنید این مقدار معمولا در حد بسیار پایینی مثل 64M است. اگر ارائه دهنده خدمات میزبانی شما اجازه تغییر این مقدار را داده است بهتر است به فایل wp-config.php رفته و کد زیر را بالای wp-settings.php اضافه کنید:

define( 'WP_MEMORY_LIMIT', '256M' );
تغییر مقدار محدودیت مموری که باید بالای wp-settings.php اضافه شود - خطای ERR_CONNECTION_TIMED_OUT
تغییر مقدار محدودیت مموری که باید بالای wp-settings.php اضافه شود

با این کار حداکثر حافظه به 256M تغییر می یابد (البته تعیین این مقدار به عهده شما است).

توصیه می کنم که حتی اگر مشکلی با خطاهای اینچنینی ندارید باز هم این مقاله را مطالعه کنید چرا که اطلاعات عمومی خوبی به شما (چه برنامه نویس و چه کاربر عادی) ارائه می دهد. امیدوارم که از مطالعه آن لذت برده باشید.


تاریخ بروزرسانی: 1400/05/05

منبع: سایت Kinsta

نویسنده شوید

دیدگاه‌های شما (3 دیدگاه)

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

امیر
11 مهر 1400
سلام ببخشید من همه ی این کار هارو انجام دادم ولی مشکل حل نشد

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

Z E R O
09 آبان 1399
دمتون گرم و نوش جونتون واقعا انتظار انقدر جامع توضیح دادن رو نداشتم و خوشحال شدم ممنونم از سایت خوبتون

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

بهروز رادمنش
19 تیر 1399
با سلام و احترام، ضمن تشکر از مطلب خوبتون، لب تاپ بنده مشکل DNS پیدا کرده، از cmd با دستور ipconfig/flushdns و ریستارت کردن مشکل حل می شود اما بعد از حدود ۱۰ دقیقه دوباره به شبکه متصل نمیشود، لطفا راهنمایی فرمایید چطور باید حلش کنم. سپاس از شما.

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

Z E R O
09 آبان 1399
داداش اگه دی ان است اوکی نمیشه از اپراتورت آی پی استاتیک بگیر

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.