Основные ошибки хостинга и их расшифровка

9 May 2018

Наверняка когда вы работали с хостингом, то сервер выдавал ошибки типа 500, 502, 404, 403. Каждая из таких ошибок имеет определенную причину и решается ее устранением. Поэтому, даже чтобы просто понимать что хочет сервер, нужно знать, к чему относится та или иная ошибка. Конечно, что-то из этого вы уже встречали на хостингах, но все равно такая информация полезна даже для закрепления знаний.

Что такое ошибка 404 (Error 404)

Основные ошибки хостинга и их расшифровка

Ошибка 404 самая простая. Она значит ,что документ не найден на сервере. Проверьте размещение файлов и rewrite правила в .htaccess.

Также следует помнить, что имена файлов зависят от регистра символов, и http://ваш_сайт/pic.jpg и http://ваш_сайт/pic.JPG — это ссылки на абсолютно разные файлы, и одна из них будет правильной, а другая — нет.

Что такое ошибка 500 (500 Internal Server Error)

Основные ошибки хостинга и их расшифровка

Наиболее частой причиной ошибки 500 (Internal Server Error, внутренняя ошибка сервера) является неверный синтаксис файла .htaccess или наличие в нем неподдерживаемых директив. Чаще всего достаточно закомментировать директиву Options (для этого нужно поставить в начале строки решетку — #), и проблема исчезнет.

Ошибка 500 также может возникать вследствие неправильного обращения с CGI-скриптами:

  • CGI-скрипты должны иметь окончания строк в формате UNIX (\n), а не в формате Windows (\r\n). Для этого их надо загружать на сервер по FTP в режиме ASCII.
  • CGI-скрипты и папки, в которых они находятся, должны быть доступны для записи только владельцу, то есть иметь права 0755 (drwxr-xr-x).

В результате работы CGI-скрипта сформированы неправильные HTTP-заголовки ответа. В этом случае для решения проблемы полезно обратиться к error_log (его можно найти в контрольной панели.

Что такое ошибка 403 (403 Forbidden)

Основные ошибки хостинга и их расшифровка

Ошибка 403 (Forbidden, доступ запрещен) может возникнуть по одной из нескольких причин:

  • Вы выложили на сервер неправильный индексный файл. Файл главной страницы вашего сайта должен называться index.shtml, index.html, index.htm, index.phtml или index.php. Обратите внимание: все символы должны быть в нижнем регистре (В отличие от Windows, в ОС Linux, под управлением которой работает сервер, регистр имен файлов имеет значение, и файлы index.html и Index.html — это два абсолютно разных файла).
  • Вы выставили неправильные права на папку, в которой находится запрашиваемый файл, или на какую-либо из ее родительских директорий. Все эти директории должны предоставлять права на выполнение (x) для владельца.
  • Вы загрузили файлы сайта в неправильную папку. Правильная папка написана, например, в Plesk в разделе "Корневой каталог".

Что такое ошибка 502 (502 Bad Gateway)

Основные ошибки хостинга и их расшифровка

Если эта ошибка возникает, значит HTTP-запросы от клиентов до вашего сайта идут через какой-то шлюз. Например, если на хостинге перед веб-сервером Apache стоит веб-сервер nginx, то nginx будет шлюзом.

502-ая ошибка означает, что запрос от клиента прошел nginx, попал к Apache, и Apache не смог запрос обработать, о чем сообщил nginx’у. В результате nginx отдает клиенту ошибку.

Почему Apache не смог обработать запрос? Как это исправить?

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

Если PHP работает через FastCGI, то на сервере может не хватать php-cgi процессов в моменты, когда на сайте много посетителей, заглянул прожорливый бот или кто-то рьяно скачивает ваш сайт целиком для изучения в офлайне.

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

Если команда top показывает, что память есть, возможно, дело в установленных лимитах на количество php-cgi процессов. Нужно смотреть конфигурационные файлы Apache (httpd.conf), особенно секцию модуля, отвечающего за FastCGI (mod_fascgi или mod_fastcgid).

Если проблемы регулярно возникают на обычном shared-хостинге, возможно имеет место оверселлинг (перепродажа ресурсов хостинга сверх нормы) или сервер плохо настроен. Подумайте о смене провайдера.