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

9 May 2018
455 full reads
50 sec.
1,3k story viewsUnique page visitors
455 read the story to the endThat's 35% of the total page views
50 seconds — average reading time

Наверняка когда вы работали с хостингом, то сервер выдавал ошибки типа 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-хостинге, возможно имеет место оверселлинг (перепродажа ресурсов хостинга сверх нормы) или сервер плохо настроен. Подумайте о смене провайдера.