Напевно, у вас траплялася ситуація, коли ви намагаєтеся відкрити сайт, а він вам – Internal Server Error (наприклад). Якщо сайт чужий, то ви, швидше за все, закрили і забули. А якщо якусь подібну помилку показує ваш сайт, то це може привести вас в жах: а раптом сайт зламали або сервер “впав”? Щоб це більше не вводило вас в паніку, ми вирішили прояснити це питання і розповісти про причини виникнення тих чи інших помилок на віртуальному хостингу і що ж з ними робити.
Перш ніж кричати “все пропало”, виконайте наступне:
- почистіть кеш браузера
- відкрийте сайт в іншому браузері
- почистіть локальний DNS-кеш
- спробуйте відкрити сайт в онлайн-інструменті downforeveryoneorjustme.com
- відкрийте ресурс через проксі-сайти: anonymouse.org, kproxy.com, zend2.com
Якщо це допомогло, то ймовірно ви зіткнулися з локальної проблемою, кешем або пропагації (процес, коли DNS-сервери оновлюють старі записи про домен на нові, може займати до 72 годин).
Якщо ж помилка не зникла, то необхідно досліджувати проблему детальніше. Розглянемо основні помилки на віртуальному хостингу і розповімо, як з ними боротися.
500 Internal Server Error
Помилка сервера 500, вона ж http 500 або “сайт впав”, як кажуть в просторіччі, маючи на увазі, що ви просто не можете зайти на свою веб-сторінку. Ця помилка означає, що веб-сервер зіткнувся з непередбаченою умовою, яка не дозволяє йому виконати ваш запит для доступу до URL.
500 помилка сервера говорить про те, що на сервері веб-сайту щось пішло не так, але сервер не може видати більш конкретної інформації. Така помилка може бути викликана непередбаченими технічними роботами на сервері, cookie або кешем вашого браузера. У більшості випадків, помилка виникає в разі проблем з локальним конфігураційним файлом веб-сервера Apache, тобто .htacсess файлом (дивіться також: Синтаксис htaccess).
Помилку можна вирішити шляхом виправлення неполадок в програмному забезпеченні веб-сервера, якщо проблема не на вашому боці. В першу чергу необхідно знайти і проаналізувати логи веб-сервера, які зможуть надати вам більш детальну інформацію. Що ви можете зробити, якщо доступу до таких логів немає:
- Спробувати перезавантажити сторінку, можливо, проблема була тимчасовою.
- Видалити cookie вашого браузера і почистити кеш.
- Перевірити код або спробувати перейменувати .htaccess файл, щоб дізнатися, чи не викликає помилку одне з прописаних в ньому правил.
- Перевірити дозволи на папки і файли. Для Linux-систем правильні дозволи на папки – 0755, на файли – 0644, для public_html – 0750. Деякі скрипти можуть вимагати дозволу 0777. Найчастіше вони будуть блокуватися системою безпеки сервера і не працювати. В такому випадку вам потрібно звернутися до технічної підтримки.
- Перевірити RAM, CPU, Entry processes – можливо вони перевищили ліміти. У хостинговій панелі cPanel ви можете перевірити ці значення в меню Метрики. Якщо ваш сервер використовує Linux, ви також можете скористатися SSH, і після входу на сервер, запустити команду top -c.
- Перевірити php.ini файл або спробувати перейменувати його. Він може бути несумісний з поточної PHP-версією, встановленої для сайту.
- Попросити техпідтримку хостінгового провайдера перевірити, чи немає mod_security блоків в логах веб-сервера або будь-яких інших помилок, які можуть викликати цю проблему.
501 Error Not Implemented
Досить рідкісна помилка, але все ж є ймовірність її отримати. Вона означає, що веб-сервер не розуміє або не підтримує HTTP-метод, який знаходить в потоці HTTP-даних, відправлених йому клієнтом.
Ця помилка може бути вирішена тільки усуненням проблем в програмному забезпеченні веб-сервера. У рідкісних випадках така помилка може бути усунена інтернет-провайдером.
Якщо ви зіткнулися з 501 Error Not Implemented, зв’яжіться з техпідтримкою вашого хостингового провайдера, так як самостійно вплинути на вирішення цієї проблеми ви не зможете.
502 Error Bad Gateway
Ще одна поширена помилка – 502 bad gateway. Ця помилка означає, що сервер отримав недійсну відповідь від вищого за ієрархією сервера, до якого він звернувся для виконання запиту. Така проблема пов’язана з поганим IP-зв’язком між серверами, включаючи веб-сервер сайту, який ви намагаєтеся відкрити. Помилка також може означати, що вищий за ієрархією сервер вимкнений.
Помилка 502 може бути викликана проблемами з обладнанням у вашого інтернет-провайдера або ж його перевантаженням. Це означає, що з мережею між вашим комп’ютером і хостинговим сервером щось не працює належним чином.
Що можна робити в таких випадках:
- Перевірити сайт за допомогою проксі-сервісу типу anonymouse.org, kproxy.com.
- Якщо сайт працює через проксі-сервіс, спробуйте почистити кеш браузера або відкрити сайт через інший браузер.
- Якщо сайт не працює через проксі-сервіс, зв’яжіться з вашим хостинг-провайдером – проблеми можуть бути на їхньому боці.
503 Error Service Unavailable
503 помилка або Error Service Unavailable (сервіс недоступний) теж зустрічається досить часто. Ця помилка означає, що веб-сервер в даний час не може обробити HTTP-запит в зв’язку з тимчасовим перевантаженням або технічними роботами на сервері. Це тимчасова помилка, і вона повинна бути розв’язана без вашого втручання через деякий час. Також помилка 503 може бути викликана тим, що ваш хостинговий аккаунт досяг LVE-лімітів та виділити більше пам’яті неможливо.
Як вирішити проблему:
- Почистити кеш браузера або відкрити сайт в іншому браузері.
- Перезапустити роутер – можливо, проблема була викликана якоюсь несправністю з ним.
- Звернутися до хостингового провайдеру і попросити перевірити сервер, на якому знаходиться ваш сайт.
504 Error Gateway Timeout
Така помилка означає, що сервер не одержав своєчасної відповіді від іншого сервера, якої він намагався досягти при спробі завантажити веб-сторінку або виконати інший запит в браузері.
В основному це вказує на те, що другий сервер вимкнений або працює неправильно. Також помилка може бути викликана збільшенням навантаження на веб-сервер настільки, що він не може відповісти на нові запити і вони ставляться в чергу. В результаті цього запити не обробляються вчасно і зв’язок обривається.
Помилка 504 може бути виправлена тільки адміністраторами мережі другого сервера.
У рідкісних випадках помилка може бути на рівні всього сервера і ви можете спробувати збільшити max_execution_time в php.ini або оптимізувати скрипти вашого сайту.
507 Error Insufficient Storage
Ця помилка вказує на те, що на сервері закінчилося вільний дисковий простір. Найчастіше виникає, коли додаток, що запитується, не може знайти достатньо серверних ресурсів для запуску.
Для вирішення проблеми необхідно почистити жорсткий диск від непотрібних файлів або додати додатковий дисковий простір. У разі якщо помилка була закешована, зможе допомогти перезапуск сервера.
Швидше за все, на віртуальному хостингу ви зустрінете таку помилку досить рідко, так як вона більш характерна для VPS і виділених серверів.
508 Error Resource Limit is Reached
Назва помилки говорить сама за себе: ваш аккаунт досяг ресурсних лімітів.
Виникає в основному з наступних причин:
- коли аккаунт постійно досягає ресурсних лімітів, які йому присвоєно. Помилка починає відображатися, коли досягнуто ліміт Entry Process ресурсів;
- перевантаження сервера може викликати недоступність сервісів, включаючи cPanel.
Віртуальний хостинг в основному базується на операційній системі CloudLinux. Зокрема всі віртуальні та реселлерські сервери нашого хостингу використовують цю систему. Вона дозволяє ізолювати окремі хостингові акаунти один від одного так, щоб створити їх власну віртуальну середу з певною кількістю ресурсів. Часто фактично ресурси, що виділяються, набагато вищі, ніж ви побачите в характеристиках свого хостингового пакету. Це робиться для того, щоб ваш аккаунт іноді міг виходити за встановлені рамки з метою виконання певних операцій. Але якщо аккаунт постійно досягає ресурсних лімітів, то він буде тимчасово заблокований для підтримки стабільності сервера, і ви побачите помилку 508 Error Resource Limit is Reached в браузері.
Що ви можете зробити в такій ситуації:
1. Якщо ваш сайт вперше досягає лімітів, варто перевірити останні оновлення, які ви зробили на сайті. Зазвичай саме вони є причиною появи помилки. Якщо ви встановили новий плагін або тему, то спробуйте вимкнути їх і подивитися, як ваш сайт буде працювати протягом 10-15 хвилин після відключення.
2. Перевірте використання ресурсів вашого облікового запису в режимі реального часу через cPanel >> Resource Usage. І якщо в даний момент ресурсні ліміти не перевищено, то саме тут ви зможете відстежити статистику за різні періоди часу.
Відсоткове співвідношення поточного використання ресурсів відображено і на головній сторінці cPanel в меню статистики.
Також ви можете перевірити ресурси за допомогою SSH, ввійшовши на сервер і запустивши команду top -c.
3. Подивіться error_log в кореневій папці вашого веб-сайту, щоб переконатися, чи немає там PHP-помилок, які викликають перевищення лімітів. Якщо ви їх знайшли, спробуйте усунути їх. Також ви можете тимчасово відключити скрипти (поки ви виправляєте їх), щоб прибрати помилку з сайту. Найпростіший спосіб зробити це – перейменувати файл скрипта.
4. Перевірте статистику відвідувань вашого сайту за допомогою cPanel >> AWStats меню.
Ви можете виявити там сплески кількості відвідувань і підозрілу активність з певних IP-адрес. У разі виявлення таких спробуйте їх заблокувати за допомогою .htaccess файлу вашого сайту, додавши наступний код:
order allow, deny
allow from all
deny from XXXX
де XXXX – це IP-адреса, яку ви хочете заблокувати.
5. Підтримуйте ваш сайт і його базу даних оптимізованими.
6. Використовуйте якусь CDN-систему, наприклад CloudFlare.
7. Попросіть хостінгового провайдера перевірити серверні логи, щоб дізнатися, що конкретно викликає перевищення лімітів. Можливо, проблема викликана плагінами сайту і вам буде потрібно відключити їх. Іншою причиною можуть бути занадто активні запити з боку певної IP-адреси або цілої підмережі, які вам варто заблокувати.
Важливо пам’ятати, що після внесених змін потрібно буде постежити за веб-сайтом якийсь час, перш ніж ви побачите необхідний ефект.
509 Error Bandwidth Limit Exceeded
Дана помилка виникає, якщо ваш аккаунт досягає лімітів по трафіку, встановленого з боку вашого інтернет-провайдера або хостинг-провайдера.
В такому випадку вам необхідно вирішувати проблему з компанією, що встановила ліміт. Швидше за все за додаткову плату ви зможете отримати більше трафіку для аккаунта. У випадку з нашим віртуальним хостингом, кількість трафіку, що проходить за місяць через акаунт, необмежено.
403 Error Forbidden
У деяких випадках на запит користувача сайт віддає HTTP 403 Forbidden. Помилка 403 означає, що доступ до сторінки або ресурсу абсолютно заборонений з якихось причин. Ви можете отримати таку помилку як в цілому на домені, так і на певних сторінках сайту. В такий момент веб-сервер розуміє, яку саме сторінку ви намагаєтеся відкрити, але відмовляється здійснювати будь-які дії. Код помилки 403 – це результат того, що веб-сервер налаштований на відмову в доступі до запитаного ресурсу.
Основними причинами такої помилки є:
1. Неправильні дозволу в акаунті користувача.
Найчастіше при неправильних дозволах ви побачите 500 Error, але вони також можуть викликати і 403 Error. В такому випадку необхідно перевірити дозволу на папки і файли. Для Linux-систем правильні дозволу на папки – 0755, на файли – 0644, для public_html – 0750. Деякі скрипти можуть вимагати дозволу 0777. Найчастіше вони будуть блокуватися системою безпеки сервера і не працювати. В такому випадку вам потрібно звернутися в технічну підтримку.
2. Неправильний власник на директорії / home і / publiс_html.
Зверніться до хостингових провайдеру, щоб перевірити, чи правильні власники закріплені до цих тек.
3. Блоки mod_security.
ModSecurity – це модуль веб-сервера Apache, який блокує відомі exploit-додатки і захищає веб-сайти від хакерських атак. Він служить файерволом на віртуальних серверах.
Іноді він може розглядати запити плагінів або скриптів на веб-сайті як підозрілі. Таким чином, коли ви вносите зміни або додаєте якийсь код в скрипти, і він конфліктує з правилами ModSecurity, ви можете отримати 403 Error і 404 Error.
В такому випадку зверніться до вашого хостингових провайдеру, щоб перевірити логи ModSecurity і внести блоки в білий список.
Деякі CMS або плагіни викликають безліч блоків і внесення їх в білий список займе дуже багато часу. У таких випадках ви можете попросити хостинг-провайдера відключити ModSecurity для вашого домену або аккаунта в цілому. Але так робити не рекомендується, оскільки це ставить під безпеку вашого облікового запису великим загрозам.
4. Блоки HAProxy.
HAProxy – це ще один додаток на серверах для безпеки. Воно забезпечує балансування навантаження під час прийому TCP- і HTTP-запитів і розподіляє їх на сервер так, щоб Apache мав можливість обробляти їх належним чином.
Коли блок викликаний HAProxy, ми побачимо трохи іншу помилку – 403 Error: Request forbidden by administrative rules. Що ж конкретно викликає такі блоки:
- Ручний блок домену або аккаунта в зв’язку з DDoS-атакою. Коли домен або аккаунт схильний DDoS-атаці, технічний персонал хостинг-провайдера може заблокувати домен або аккаунт в HAProxy з метою захисту сервера і запобігання перевантаження. Після того, як атака припиниться, блок знімається.
- Ви намагаєтеся відкрити адміністративну панель WordPress через HTTP 1.0 POST запит. HAProxy налаштований так, що блокує будь-які HTTP 1.0 POST запити до wp-logn.php сторінки. Протокол HTTP 1.0 застарів у порівнянні з HTTP 1.1 (який використовується більшістю користувачів) і не рекомендується до використання. Однак іноді ви можете використовувати HTTP 1.0, коли користуєтеся застарілими браузерами.
У таких випадках вам необхідно зв’язатися з вашим хостинговим провайдером і попросити внести домен в білий список.
5. Користувацькі налаштування або переспрямування в .htaccess.
Можливо ви налаштували в .htaccess правила, які відмовляють у доступі до сайту: відмова або дозвіл доступу для певних користувачів, країн і IP-адрес. Приклади такого коду:
Блокування користувачів з тією чи іншою IP-адресою:
order allow, deny
allow from all
deny from XXXX
Блокування всіх користувачів, крім користувачів з тією чи іншою IP-адресою:
order deny, allow
deny from all
allow from XXXX
Код, який блокує доступ до всіх ваших файлів в директорії:
Options -Indexes
У таких випадках спробуйте видалити код або перейменувати .htaccess файл, щоб вимкнути його.
Біла сторінка на сайті
В основному викликана PHP-помилками, які ви можете знайти в error_log файлі в кореневій директорії вашого сайту. Зазвичай в такому лозі є багато корисної інформації: конкретний файл, шлях, лінія, де з’являється помилка і багато іншого.
Також за допомогою php.ini файлу ви можете включити відображення помилок на сайті. Для цього вам потрібно буде додати в php.ini наступний код: display_errors = On
У багатьох випадках помилка викликана некоректною роботою теми, плагіна, додаткового модуля. Спробуйте вимкнути те, що могло стати причиною помилки на вашу думку, і дивитися на результат.
Server connection timed out або The connection was reset
Така помилка може виникати в браузері при спробах відкрити веб-сайт, веб-мейл, хостингову панель управління, а також при спробах підключитися через мейл-клієнт або FTP.
Найімовірніше, ваш IP-адреса була заблокована серверним файерволом і вам потрібно зв’язатися з хостинговим провайдером для зняття цього блоку.
Тепер ви знайомі з основними помилками, які можуть трапитися з сайтом на віртуальному хостингу, і зможете провести базове дослідження проблеми, а можливо і самостійно її вирішити.
Спробуйте хостинг з купою принад: автовстановлювачем 330 движків, конструктором сайтів та теплою підтримкою 24/7!
