Вы находитесь здесь: Главная > Полезные статьи > Диагностика ошибок выдаваемых сервером

Диагностика ошибок выдаваемых сервером

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

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

Любая ошибка, выдаваемая веб-сервером, имеет код аналогичный классу появившейся ошибки. Коды ошибок (к примеру 403 либо 404) стандартизованы и досконально изображены в интернет-стандарте RFC2616 (Hypertext Transfer Protocol — HTTP/1.1). Можно направляться к данному документу за доскональным изображением точной ошибки как в первоисточнику.

Коды ошибок могут быть позитивными и негативными либо удачными и проваленными. Разберем детальнее что эти коды обозначают. Есть 4 вида кодов:

2xx — запрос сделан с успехом — компьютер с успехом послал заказчику запрашиваемый документ.

3xx — запрос с успехом перенаправлен — также позитивный код. Он говорит о том, что запрос заказчика был перенаправлен. Применяется при функционировании с кэширующими серверами, и в методе, когда браузер заказчика рассматривает актуальность документа на компьютере (дату образования, объем и тому подобное).

4xx — ошибка — документ не был выслан заказчику, в связи с тем что случилась критичная ошибка. К примеру, спрошенный документ не обнаружен на компьютере, доступ к документу запрещен и тому подобное.

5xx — ошибка сервера — критичная ошибка на компьютере. К примеру, на компьютере не сумел неплохо проработать script клиента.

Вы расположили веб-сайт на хостинге какой-нибудь компании, загрузили документы и приобрели оплошность 403 при попытке открыть веб-сайт через браузер. Данная ошибка появляется если вы представили индексный документ, который должен представляться при послании к ассортименту, ошибочно. Индексный документ может иметь наименования index.php, index.htm, index.html, index.phtml, index.shtml, default.htm либо default.php. В Unix-системах указатель букв в наименованиях документов имеет значение.

Ошибка — представляется перечень документов вместо первой страницы.

Вероятно задано неправильное имя основного/индексного документа. Индексный документ может иметь наименования index.php, index.htm, index.html, index.phtml, index.shtml, default.htm либо default.php.

Эта ошибка появляется когда компьютер не сумел обработать запрос из-за того, что доступ к документу был запрещен. Наиболее часто это появляется в 3-х вариантах:

1.
в ассортименте нет индексного документа (index.php, к примеру) и при этом запрещен осмотр перечня документов в этом ассортименте* либо на всем онлайн компьютере. Можно постараться сделать документ под названием index.php и посмотреть не пропадет ли ошибка.
2.
выставлены такие «права» доступа на документ, что веб-сервер Apache не сумел прочесть документ на диске сервера. Попробуйте поменять права доступа на 640, к примеру.
3.
клиент предпринял попытку направиться к скрипту (в ассортименте cgi-bin), на который выставлены ошибочные права — нет права на прочтение+выполнение (r+x) точного скрипта. Поменяйте права на 755.

Изначально осмотр перечня документов в ассортименте запрещен. Для того, чтобы разрешить вывод перечня документов необходимо сделать документ .htaccess, в котором прописать директиву Options +Indexes в качестве автономной строки.

Ошибка 404 (Документ не обнаружен) появляется когда клиент заламывает у веб-сервера документ, которого нету на диске. Другими словами, когда клиент заламывает несуществующий документ. Это наиболее «известная» из всех ошибок. Можно смотреть появление подобных ошибок в документе error_log и рассматривать это — прослеживать какие бумаги на компьютере «не обнаружены» и изменять ошибочные сноски из собственных html-документов. Также сноски на несуществующие бумаги могут вести с иных веб-сайтов.

Для удобства гостей веб-сайта можно обрабатывать ошибки 404 сменяя обычные решения веб-сервера на собственные страницы с «нашим» изображением причины появления ошибки и советами как быть тогда. Также полезно расположить на подобный страничке карту вашего веб-сайта либо сноску на поисковую машину.

Как обрабатывать оплошность 404. Сделайте в ассортименте public_html документ .htaccess и расположите в него следующую аннотацию для веб-сервера Apache:

Потом сделайте документ 404.php, в который расположите описание появившейся ошибки и советы о том что «как быть» тогда гостю вашего веб-сайта. Отныне клиент, который накопит в собственном интернет-браузере адрес несуществующей страницы, будет автоматом перенаправлен сервером на документ 404.php.

С помощью директивы ErrorDocument можно обрабатывать не только лишь оплошность 404, но также и почти все иные ошибки. К примеру, можно обработать так и оплошность 403, которая упоминается в данном документе выше. О документе .htaccess и его утилитарном применении можно прочитат в следующей публикации.

Ошибка 500 «Internal Server Error» появляется в случае неосуществимости старта скрипта, который вы расположили на компьютере, в случае ошибок в скрипте, и в случае когда вы убрали неверную аннотацию в документ .htaccess. Данный перечень причин появления ошибки 500 не конечный, есть еще масса причин, по которым может появиться ошибка 500. Но, перечисленные 3 варианта встречаются наиболее часто.

Разберем вначале пример, когда вы убрали невежливую аннотацию в документ .htaccess. Если вы совершили ошибку в написании наименования необходимой директивы либо характеристик к ней, в документе error.log вы сможете найти приблизительно такую оплошность:

Веб-сервер покажет вам какую точно директиву он подсчитал неверной — ее необходимо поправить. В этом случае веб-сервер рассказал что директивы DrectoryIndex он не знает. И на самом деле — нет директивы DrectoryIndex, есть DirectoryIndex. Имеет место ошибка. Если возникли вопросы касаемо темы диагностика сервера загляните на сайт smart1c.ru.

Если ошибка 500 появляется при послании к скрипту на языке Perl, расположенному в ассортименте cgi-bin, необходимо исследовать права доступа на данный script. Права должны быть 755 (rwxrx-rx). Если это далеко не так, необходимо поменять права на 755 командой chmod 755 script.pl в unix shell либо пользоваться для этого FTP. Необходимо в отдельности обозначить — права на скрипты должны быть определены строго в 755.

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

Если после проверки правильности поставленных прав на документ скрипта ошибка не пропала, необходимо проанализировать заключительные записи в документе error.log — в него веб-сервер размещает все известия об оплошностях.

1-ое, что необходимо сделать если вы приобрели такую оплошность, это исследовать верно ли script выдает HTTP-заголовки. Любой script должен вначале распечатать строчку с указанием аналогичного Content-type и лишь затем прямо то, что заметит клиент (к примеру, HTML-код). Образец строки для выдачи заголовка стандартного HTML-документа:

Если и после выдачи верных заголовков ошибка 500 не пропала, необходимо исследовать любезность работы скрипта в общем. Для этого необходимо получить доступ в unix shell и дальше осуществить команду проверки синтаксиса:

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

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

Оставить комментарий