Распространенные ошибки на виртуальном хостинге и как с ним бороться

лучший виртуальный хостинг

Наверняка, у вас случалась ситуация, когда вы пытаетесь открыть сайт, а он вам — Internal Server Error (например). Если сайт чужой, то вы, скорее всего, закрыли и забыли. А если какую-то подобную ошибку показывает ваш сайт, то это может привести вас в ужас: а вдруг сайт взломали или сервер “упал”? Чтобы это больше не вводило вас в панику, мы решили прояснить этот вопрос и рассказать о причинах возникновения тех или иных ошибок на виртуальном хостинге и что же с ними делать.

Прежде чем кричать “всё пропало”, выполните следующее:

  • почистите кэш браузера
  • откройте сайт в другом браузере
  • почистите локальный DNS-кэш
  • попробуйте открыть сайт в онлайн-инструменте downforeveryoneorjustme.com
  • откройте ресурс через прокси-сайты: anonymouse.org, kproxy.com, zend2.com

Если это помогло, то вероятно вы столкнулись с локальной проблемой, кэшем или пропагацией (процесс, когда DNS-серверы обновляют старые записи о домене на новые; может занимать до 72 часов).

Если же ошибка не ушла, то необходимо исследовать проблему детальнее. Рассмотрим основные ошибки на виртуальном хостинге и расскажем, как с ними бороться.

ошибки на виртуальном хостинге

500 Internal Server Error

Эта ошибка означает, что веб-сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить ваш запрос для доступа к URL.

500 ошибка сервера говорит о том, что на сервере веб-сайта что-то пошло не так, но сервер не может выдать более конкретной информации. Такая ошибка может быть вызвана непредвиденными техническими работами на сервере, cookie или кэшем вашего браузера. В большинстве случаев, ошибка возникает в случае проблем с локальным конфигурационным файлом веб-сервера Apache, то есть .htacсess файлом.

Ошибку можно решить путем исправления неполадок в программном обеспечении веб-сервера, если проблема не на вашей стороне. В первую очередь необходимо найти и проанализировать логи веб-сервера, которые смогут предоставить вам более детальную информацию. Что вы можете сделать, если доступа к таким логам нет:

  1. Попробовать перезагрузить страницу, возможно, проблема была временной.
  2. Удалить cookie вашего браузера и почистить кэш.
  3. Проверить код или попробовать переименовать .htaccess файл, чтобы узнать, не вызывает ли ошибку одно из прописанных в нём правил.
  4. Проверить разрешения на папки и файлы. Для Linux-систем правильные разрешения на папки — 0755, на файлы — 0644, для public_html — 0750. Некоторые скрипты могут требовать разрешения 0777. Зачастую они будут блокироваться системой безопасности сервера и не работать. В таком случае вам нужно обратиться в техническую поддержку.
  5. Проверить RAM, CPU, Entry processes — возможно они превысили лимиты. В хостинговой панели cPanel вы можете проверить эти значения в меню Метрики. Если ваш сервер использует Linux, вы также можете воспользоваться SSH, и выполнив вход на сервер, запустить команду top -c.
  6. Проверить php.ini файл или попробовать переименовать его. Он может быть несовместим с текущей PHP-версией, установленной для сайта.
  7. Попросить техподдержку хостингового провайдера проверить, нет ли mod_security блоков в логах веб-сервера или каких-либо других ошибок, которые могут вызывать данную проблему.

501 Error Not Implemented

Довольно редкая ошибка, но все же есть вероятность ее получения. Она означает, что веб-сервер не понимает или не поддерживает HTTP-метод, который находит в потоке HTTP-данных, отправленных ему клиентом.

Эта ошибка может быть решена только устранением проблем в программном обеспечении веб-сервера. В редких случаях такая ошибка может быть устранена интернет-провайдером.

Если вы столкнулись с 501 Error Not Implemented, свяжитесь с техподдержкой вашего хостингового провайдера, так как самостоятельно повлиять на решение этой проблемы вы не сможете.

502 Error Bad Gateway

Эта ошибка означает, что сервер получил недопустимый ответ от вышестоящего сервера, к которому он обратился для выполнения запроса. Такая проблема связана с плохой IP-связью между серверами, включая веб-сервер сайта, который вы пытаетесь открыть. Ошибка также может означать, что вышестоящий сервер выключен.

Ошибка 502 может быть вызвана проблемами с оборудованием у вашего интернет-провайдера или же его перегрузкой. Это означает, что с сетью между вашим компьютером и хостинговым сервером что-то работает неправильно.

Что можно делать в таких случаях:

  1. Проверить сайт при помощи прокси-сервиса типа anonymouse.org, kproxy.com.
  2. Если сайт работает через прокси-сервис, попробуйте почистить кэш браузера или открыть сайт через другой браузер.
  3. Если сайт не работает через прокси-сервис, свяжитесь с вашим хостинг-провайдером — проблемы могут быть на их стороне.

503 Error Service Unavailable

Эта ошибка означает, что веб-сервер в данное время не может обработать HTTP-запрос в связи с временной перегрузкой или техническими работами на сервере. Это временная ошибка, и она должна быть разрешена без вашего вмешательства через некоторое время. Также ошибка 503 может быть вызвана тем, что ваш хостинговый аккаунт достиг LVE-лимитов и выделить больше памяти невозможно.

Как решить проблему:

  1. Почистить кэш браузера или открыть сайт в другом браузере.
  2. Перезапустить роутер — возможно, проблема была вызвана какой-то неполадкой с ним.
  3. Обратиться к хостинговому провайдеру и попросить проверить сервер, на котором находится ваш сайт.

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. И если в данный момент ресурсные лимиты не превышены, то именно здесь вы сможете отследить статистику за разные периоды времени.

Resource Usage

Процентное соотношение текущего использования ресурсов отображено и на главной странице cPanel в меню статистики.

статистика ресурсов на хостинге

Также вы можете проверить ресурсы при помощи SSH, выполнив вход на сервер и запустив команду top -c.

3. Посмотрите error_log в корневой папке вашего веб-сайта, чтобы убедиться, нет ли там PHP-ошибок, которые вызывают превышение лимитов. Если вы такие нашли, попытайтесь устранить их. Также вы можете временно отключить скрипты (пока вы исправляете их), чтобы убрать ошибку с сайта. Самый простой способ сделать это — переименовать файл скрипта.

4. Проверьте статистику посещений вашего сайта с помощью cPanel >> AWStats меню.

статистика посещений в cPanel

Вы можете обнаружить там всплески количества посещений и подозрительную активность с определенных IP-адресов. В случае обнаружения таковых, попробуйте их заблокировать с помощью .htaccess файла вашего сайта, добавив следующий код:
order allow,deny
allow from all
deny from X.X.X.X

где X.X.X.X — это IP-адрес, который вы хотите заблокировать.

5. Поддерживайте ваш сайт и его базу данных оптимизированными. Как это делать для сайта на WordPress, мы расскажем в одной из следующих статей.

6. Используйте какую-нибудь CDN-систему, например CloudFlare.

7. Попросите хостингового провайдера проверить серверные логи, чтобы узнать, что конкретно вызывает превышение лимитов. Возможно, проблема вызвана плагинами сайта и вам потребуется отключить их. Другой причиной могут быть слишком активные запросы со стороны определенного IP-адреса или целой подсети, которые вам стоит заблокировать.

Важно помнить, что после внесенных изменений нужно будет последить за веб-сайтом какое-то время, прежде чем вы увидите необходимый эффект.

509 Error Bandwidth Limit Exceeded

Данная ошибка возникает, если ваш аккаунт достигает лимитов по трафику, установленного со стороны вашего интернет-провайдера или хостинг-провайдера.

В таком случае вам необходимо решать проблему с компанией, установившей лимит. Скорее всего за дополнительную плату вы сможете получить больше трафика для аккаунта. В случае с нашим виртуальным хостингом, количество трафика, проходящего за месяц через аккаунт, неограниченно.

403 Error 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 X.X.X.X

Блокировка всех пользователей, кроме пользователей с определенным IP-адресом:
order deny,allow
deny from all
allow from X.X.X.X

Код, который блокирует доступ ко всем вашим файлам в директории:
Options -Indexes

В таких случаях попробуйте удалить код или переименовать .htaccess файл, чтобы выключить его.

Белая страница на сайте

В основном вызвана PHP-ошибками, которые вы можете найти в error_log файле в корневой директории вашего сайта. Обычно в таком логе есть много полезной информации: конкретный файл, путь, линия, где появляется ошибка и многое другое.
Также с помощью php.ini файла, вы можете включить отображение ошибок на сайте. Для этого вам нужно будет добавить в php.ini следующий код: display_errors = On

Во многих случаях ошибка вызвана некорректной работой темы, плагина, дополнительного модуля и т.д. Попробуйте отключать то, что могло стать причиной ошибки по вашему мнению, и смотреть на результат.

Server connection timed out или The connection was reset

Такая ошибка может возникать в браузере при попытках открыть веб-сайт, веб-мейл, хостинговую панель управления, а также при попытках подключиться через мейл-клиент или FTP.

Вероятнее всего, ваш IP-адрес был заблокирован серверным файерволом и вам нужно связаться с хостинговым провайдером для снятия этого блока.

Теперь вы знакомы с основными ошибками, которые могут случиться с сайтом на виртуальном хостинге, и сможете провести базовое исследование проблемы, а возможно и самостоятельно ее решить.

Понравилась статья? Оставь свой голос!
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 4,00 из 5)
Загрузка...