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

Faq 10.03.2019

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

Давайте посмотрим, что умеет программа Ping, для этого нажмите пуск => выполнить => наберите cmd => нажмите Ок => наберите в черном окне команду

Ping /? => нажмите enter.

Вы увидите список команд, которые, можно выполнить с помощью программы Ping.

Ping [-t] [-a] [-n <число>] [-l <размер>] [-f] [-i ] [-v ] [-r <число>] [-s <число>] [[-j <список узлов>] | [-k <список узлов>]] [-w <тайм-аут>] [-R] [-S <адрес источника>] [-4] [-6] конечный_узел Параметры -t Проверка связи с указанным узлом до прекращения. Для отображения статистики и продолжения проверки нажмите сочетание клавиш CTRL+BREAK; для прекращения нажмите CTRL+C. -a Определение имен узлов по адресам. -n <число> Число отправляемых запросов эха. -l <размер> Размер буфера отправки. -f Установка в пакете флага, запрещающего фрагментацию (только IPv4). -i Задание срока жизни пакетов. -v Задание типа службы (только IPv4. Этот параметр недоступен и не влияет на поле TOS в заголовке IP). -r <число> Запись маршрута для указанного числа прыжков (только IPv4). -s <число> Отметка времени для указанного числа прыжков (только IPv4). -j <список_узлов> Свободный выбор маршрута по списку узлов (только IPv4). -k <список_узлов> Жесткий выбор маршрута по списку узлов (только IPv4). -w <тайм-аут> Тайм-аут для каждого ответа (в миллисекундах). -R Использование заголовка для проверки также и обратного маршрута (только IPv6). -S <адрес источника> Используемый адрес источника. -4 Принудительное использование протокола IPv4. -6 Принудительное использование протокола IPv6.

Давайте разберем некоторые из них.

Практическое использование:

Ключ t – применяется, когда необходимо пинговать какой-либо ресурс долго, чтобы не вводить каждый раз команду:

Ping сайт

можно ввести так:

Ping 27susday.ru -t

и процесс можно будет остановить только вручную, нажатием клавиши ctrl+c

Ключ i – нужен, чтобы задать срок жизни отправленного пакета, по умолчанию 128. Вы отправляете пакет и он начинает шарится по удаленным узлам, пройдя узел, отнимается единичка, и так пока не будет ноль. Затем пакет уничтожается, и выводит Вам соответствующее уведомление.

Ключ w– нужен, чтобы увеличить время ожидания ответа от ресурса, к которому Вы обращаетесь. Бывают такие случаи, когда вы посылаете ping до какого-либо узла, и он выдает вам сообщение, что заданный узел не доступен, соответственно, Вы думаете, что узел не работает. Вывод правильный, но не всегда. Бывает, что он доступен, только вот перегружен и не успевает Вам ответить, чтобы этого избежать ставится ключ w.

Бывает, что удаленный узел, вроде бы работает, т.е. вы можете на него зайти, Вы на сто процентов уверены в его работоспособности, а на ping не отвечает, хоть какую ставь задержку с помощью ключа w. Это объясняется тем, что системный администратор, поставил фаервол и запретил отвечать на ICMP пакеты. Это делается для того, чтобы нельзя было штурмовать эхо-запросами сервера, которые смотрят в Интернет. Упасть сервер не упадет, но вот его производительность снизится.

Совет: Если Вы начинающий системный администратор, советую и вам закрыть ICMP порт на своих серверах, которые у Вас смотрят в интернет.

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

Видео-урок по уменьшению пинга в играх:

Нередко возникают ситуации, когда необходимо определить доступность и работоспособность узла, сайта или сервера в интернете. Что же делать в этом случае? Вам поможет команда ping. Ее использование позволяет проверить соединение с узлом на уровне IP. Это простая команда, но очень часто именно она позволяет определить наличие той или иной неполадки.

Если вас интересует аренда VDS сервера , то откройте эту страницу, закажите сервер и получите выделенный IP, по которому можно проверять доступность сервера.

Что дает команда ping и как это можно использовать для выявления неполадок? С ее помощью вы посылаете на хост, указанный в команде, пакет определенного размера. Через определенное время вы получаете ответ - пакет возвращается. На основе полученного пакета можно судить о совместимости настроек, определить проблемы с аппаратным обеспечением, а также оценить стабильность подключения компьютера к сетевым ресурсам и сети TCP/IP в целом.

Если же говорить конкретно, то узнать пинг сервера стоит для того, чтобы определить:

  • Работает ли сервер
    Например, при выполнении этой команды можно понять, завис ли только веб-сервер или же вы столкнулись с более глобальной проблемой.
  • Есть ли связь с сервером
    В частности, есть ли проблемы с настройкой DNS на сервере. Для этого достаточно задать имя домена и IP-адрес.
  • Скорость соединения
    После выполнения команды вы получаете результат, где отображается количество запросов в секунду. На основе полученной информации можно вычислить ориентировочную скорость канала.
  • Качество соединения
    Также в полученном результате вы увидите количество отправленных и полученных пакетов. Сравнивая эти числа, вы можете понять, насколько надежно соединение. В идеале, разница между количеством отправленных и полученных пакетов должна быть близка к нулю.

Теперь давайте перейдем непосредственно к тому, как определить пинг нужного вам сервера. Для Windows и Unix-систем порядок действий несколько отличается, поэтому мы рассмотрим их по очереди.

Как выполняется команда ping в CMD (в командной строке) Windows

Чтобы выполнить пинг сайта через командную строку в Windows нужно выполнить следующие действия:

  • Открыть командную строку
    Сделать это можно двумя способами. Первый способ: кнопка "Пуск" - пункт "Выполнить" - набрать команду "cmd" - нажать "Ok". Второй способ: кнопка "Пуск" - "Стандартные" - "Командная строка". В результате выполнения любого варианта открывается командная строка.
  • Ввести команду ping
    Команда ping в командной строке должна обладать следующим синтаксисом: Ping domain_name, где domain_name - имя домена, который нужно проверить. Также вместо имени домена можно вести IP-адрес нужного веб-узла, шлюза или удаленного узла.
  • Получить результат выполнения команды
    Независимо от того, использовалась команда ping в CMD или в командной строке, открытой иным способом, вы увидите ход пинга. Вам будет показан процесс обмена пакетами между IP адресами нужного домена и вашего компьютера. В результате вы увидите количество обменов, число пересланных байтов в пакете, время отклика и время жизни пакета. В статистике же вы найдете количество переданных и принятых пакетов, а также процент потерь. Кроме того, во многих ситуациях может быть полезна информация о времени передачи пакета - максимальном, минимальном и среднем за сеанс выполнения команды.

Как выполняется команда ping в Linux и других Unix-системах

Чтобы выполнить команду ping в любой Unix-системе вам необходимо сделать следующее:

  • Открыть терминал (аналог командной строки в Windows)
    В зависимости от ОС и предпочтений пользователя терминал может быть представлен различными интерпретаторами команд. Если при загрузке системы был настроен запуск графической оболочки, то текстовую консоль можно вызвать при помощи сочетания Ctrl+Alt+F1-F6 (зависит от операционной системы).
  • Ввести команду ping
    Синтаксис команды аналогичен варианту для Windows. То есть вам нужно ввести ping ip, где ip - нужный вам IP-адрес.
  • Остановить выполнение команды
    Если в Windows в рамках одного сеанса пинга по умолчанию отправляется 4 пакета, то в Unix-системах команда выполняется до прерывания ее пользователем. Как остановить команду ping в Linux и получить результаты? Очень просто - достаточно нажать сочетание клавиш Ctrl+C.
  • Получить результат пинга
    Содержание и интерпретация отчета по выполнению команды аналогично варианту при работе с Windows.

Ключи команды ping

Эта команда обладает несколькими полезными параметрами (ключами), которые вы можете регулировать по своему усмотрению и ситуации:

  • -t
    При работе в Windows позволяет команде ping повторять запросы до тех пор, пока пользователь не остановит выполнение команды.
  • -n количество
    Можно изменить количество запросов к адресу. По умолчанию выполняется 4 запроса за сессию.
  • -l размер
    При помощи этого ключа можно настроить размер пакета пинга. По умолчанию этот параметр равен 32 байтам.
  • -f
    По умолчанию фрагментация отправляемого по адресу пакета разрешена. Этот ключ означает "не фрагментировать".
  • -w интервал
    При помощи этого параметра можно указать интервал ожидания между пакетами.
  • /?
    Вызов справки по команде ping.

Как видите, все очень просто. Но если случилось так, что при работе с хостингом RigWEB команда ping не работает, и вы не знаете причины этого - обратитесь за помощью в техподдержку. Наши специалисты разберутся в возникшей ситуации и окажут вам квалифицированную помощь в рамках своей компетенции в течение всего 30 минут. Если вас интересует аренда физических серверов или VPS и у вас возникли какие-то сомнения, запросите тестовый IP для пинга и проверьте доступность, скорость ответа. Пользуйтесь профессиональным хостингом с оперативной техподдержкой и получайте удовольствие от работы над собственным веб-проектом!

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

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

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

Типы ошибок

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

Коды ошибок бывают положительными и отрицательными или успешными и не успешными.

Всего существует 4 типа кодов (хх - сочетание любых цифр):

  • 2xx - запрос выполнен успешно;
  • 3xx - запрос успешно перенаправлен (тоже положительный код);
  • 4xx - ошибка - документ не был отправлен пользователю, так как произошла критическая ошибка. Класс кодов 4xx предназначен для указания ошибок со стороны клиента;
  • 5xx - ошибка сервера - критическая ошибка на сервере. Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера.

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

Ошибка 400

Bad Request

При переходе на сайт браузер может выдавать “400 Bad Request”. Это означает, что сервер обнаружил синтаксическую ошибку в запросе, который ввел пользователь. Однако подобная ошибка может появляться не только, когда вы вводите адрес сайта, но и, например, при входе в панель управления вашим сайтом. Причин возникновения может быть несколько:

  • блокировка браузера антивирусом;
  • блокировка брендмауэра Windows браузером;
  • большое количество файлов cookies и данных в сache;
  • перебои в работе интернета.

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

Блокировка браузера

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

Если ошибка сохраняется, то переходите к проверке следующей причины.

Блокировка брендмауэра Windows

  • Попробуйте отключить брендмауэр на время: меню Пуск - Панель управления - Система и безопасность - Брандмауэр Windows - Включение и отключение.
  • Очистите кэш и куки.
  • Обновите страницы с ошибкой.
  • Если проблема устранена, то для завершения добавьте в брандмауэр разрешенные программы: Пуск — Панель управления — Система и безопасность — Брандмауэр — Разрешение запуска программы через брандмауэр.

Если проблема осталась — продолжайте проверку.

Cache и cookies

  • Удалите cookies и очистите cache: нажмите Shift + Ctrl + Delete в то время, когда браузер открыт.
  • Удалите ненужные файлы.
  • Проверьте работу вашего браузера.

Перебои в работе интернета

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

Ошибка 403

Forbidden

Ошибка 403 означает, что сервер не может выполнить запрос из-за запрета на доступ к запрашиваемым файлам или страницам. Эта ошибка может возникать по ряду причин. Рассмотрим самые распространенные:

  • Индексный файл index.html не загружен в директорию public_html вашего сайта или является некорректным. Для устранения этой ошибки создайте файл с именем index.html или переименуйте уже имеющийся файл. Возможные варианты для имени файла: index.html, index.htm или index.php.
  • Для директории, в которой находится запрашиваемый файл, установлены такие права, что веб-сервер Apache не смог прочитать файл на диске сервера. Для устранения этой ошибки попробуйте изменить права доступа в разделе, отвечающем за настройку прав.
  • Файлы сайта загружены в неправильную директорию. Для устранения этой ошибки проверьте, располагаются ли файлы сайта в директории site/public_html, где site - название вашего сайта.

Ошибка 404

Not Found

Ошибка 404 означает, что сервер не может найти данные по запросу пользователя.
Причины возникновения данной ошибки:

  • Некорректный URL, введенный в адресное поле браузера. Для устранения данной ошибки проверьте, корректно ли указана ссылка.
  • Файл, запрашиваемый по URL, отсутствует на сервере. Для устранения этой ошибки необходимо проверить наличие запрашиваемого файла в директории public_html вашего сайта.

Ошибка 500

Internal Server Error

Ошибка 500 означает, что на сервере есть внутренняя ошибка. Эта проблема может возникнуть по двум причинам:

  • Невозможно запустить скрипт. Скорее всего, указаны неправильные права доступа на папки и файлы. Если на PHP файлы скриптов, размещенных на вашем хостинге, стоят права доступа 777, то исполнение данных скриптов может быть заблокировано сервером. Происходит это из-за того, что права доступа 777 позволяют всем производить любые изменения с данным файлом, что существенно влияет на безопасность и целостность вашего сайта. Для устранения этой ошибки следует проверить права доступа на папки и файлы сайта. Для папок рекомендовано установить права доступа 755, для исполняемых скриптов 600, а для всех остальных файлов 644.
  • Неправильная инструкция в файле.htaccess или наличие в нём неподдерживаемых директив. Возможно, вы ошиблись в написании названия нужной директивы или параметров к ней. Данную ошибку можно устранить, включив лог ошибок error.log. Веб-сервер укажет вам, какую конкретно директиву он посчитал ошибочной — ее нужно будет исправить.

Ошибка 502

Bad Gateway

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

  • Проблемы в работе прокси-сервера. Для устранения этой ошибки попробуйте набрать в адресной строке браузера ссылку на какой-либо другой сайт. Тем самым вы можете проверить, есть ли доступ в Интернет вообще. Если вы обнаружили, что доступ в Интернет есть, но ваше обращение к конкретному сайту все равно дает ошибку 502, попробуйте удалить файлы cookies в браузере.
  • Нехватка ресурсов сервера. Это может означать, что нагрузка на сервер превышает ресурсы, доступные на выбранном тарифе хостинга. Уточните у своего хостинг-провайдера информацию о тарифах с большим объемом ресурсов и, в случае необходимости, увеличьте оперативную память или доступный объем диска.

Ошибка 503

Service Temporarily Unavailable

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

Чтобы исправить данную ошибку нужно знать причины, по которым она может появляться:

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

  • Проверить все компоненты и плагины вашей CMS, отключая их по очереди, и найдите самые тяжёлые или испорченные, при работе которых загрузка сайта замедляется. По возможности откажитесь от таких компонентов или поищите более быстрый аналог.
  • Проверить наличие у вас медленных запросов - в папке logs вашего аккаунта создается файл mysql-slow.log. Информация в этом файле обновляется раз в сутки и содержит только самые проблемные SQL-запросы.
  • Если в PHP-скриптах используются Include-функции, загружающие части движка, расположенные на одном аккаунте, убедитесь, что в них используется локальный путь, а не URL вида «http://…». Наличие URL заставляет сервер делать дополнительный HTTP-запрос — это занимает лишнее время и сильно замедляет загрузку сайта.

2. Большое количество запросов к серверу. Причин возникновения таких запросов несколько:

  • Загружаемый ресурс разбит/содержит ссылки на слишком больше число файлов (картинки, таблицы стилей JS-скрипты), которые подгружаются через отдельные запросы. В этом случае следует объединить ресурсы в один файл, где это возможно.
  • DDoS-атаки, флуды, спамы в комментарии также могут вызывать большое количество запросов. В случае DDoS-атаки необходимо определить ее тип, и, согласно ее уровню, предпринять действия по устранению. Подробнее про DDoS-атаки вы можете прочитать в статье "

Каждый раз, при обращении к веб серверу, в ответ вы получаете код статуса ответа. Эти коды делятся на пять основных групп, а каждый код имеет трехзначное значение. Группу кода легко определить по первой цифре:

  • 1хх - информационный
  • 2хх - удачное завершение
  • 3хх - перенаправление
  • 4хх - ошибка на стороне клиента
  • 5хх - ошибка на стороне сервера

Существует огромное множество возможных ошибок, но мы опишем только самые основные.

Обзор клиентских и серверных ошибок

Клиентские ошибки (400-499) - результат некорректного запроса со стороны клиента. Несмотря на то, что эти ошибки возникают со стороны клиента, следует уделять им достаточное внимания и рассмотреть все возможные варианты их устранения на стороне сервера.

Сервеные ошибки (500-599) возникают в результате работы сервера, если он не в состоянии обработать запрос пользователя и сталкивается с какими-либо внутренними проблемами.

Заметки по устранению основных проблем

  • Проверяйте серверные логи, из которых вы получите более детальную информацию о возникшей проблеме. Например, такие сервера как Apache и Nginx записывают логи в файлы access.log и error.log , которые вы можете просмотреть.
  • Держите в голове тот факт, что коды ответа HTTP это стандарт, который должен быть соблюден в приложении, обрабатывающем запрос. То есть, полученный код зависит от самого приложения.

После того как мы поверхностно описали основные ошибки, рассмотрим их более детально.

400 некорректный запрос

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

Приведем несколько возможных причин возникновения такой ошибки:

  • Куки пользователя, от которых зависит работа сайта, испорчены. Обычна очистка кеша и куки помогает решить проблему.
  • Некорректный запрос по вине самого пользователя, когда, например, запрос был сформирован при помощи curl .

401 доступ запрещен

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

Примером может служит ситуация, когда пользователь пытается получить какой-то ресурс, который защищен при помощи HTTP аутентификации. В таком случае пользователь получит доступ к ресурсу только после того, как введет корректные логин и пароль, которые указаны в файле.htpasswd .

403 отказ в доступе

Этот код означает, что пользователь создал верный запрос, но сервер отказал в выдаче ответа, из-за ограничений прав. Если вы столкнулись с таким кодом, то первым делом стоит рассмотреть следующие причины:

  • Права на файлы

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

Рассмотрим следующие ситуации:

  • Пользователь обратился к индекс файлу сервера http://example.com/index.html
  • Сервер запущен под пользователем www-data
  • На сервере этот файл расположен по адресу /usr/share/nginx/html/index.html

Убедитесь в том, что пользователю www-data открыт доступ к чтению этого файла. Чаще всего это означает, что “доступ для остальных пользователей” должен быть открыт для чтения. Конечно, существует целый ряд устранения проблемы, но следующая команда вам точно поможет:

Sudo chmod o=r /usr/share/nginx/html/index.html

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

Просмотрите внимательно этот файл, если вы сталкиваетесь с это пролемой.

Индексный файл не существует

Если пользователь обратился к каталогу, в котором не существует индексный файл, а просмотр содержимого каталога запрещен, то он получит в ответ код 403. Например, пользователь обратился к http://example.com/emptydir/ , в этой директории отсутствует индексный файл, в таком случае сервер вернет код 403.

Если вы хотите разрешить просмотр содержимого каталога, то это можно сделать в настройках сервера.

404 не найдено

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

Код 404 может возникать в целом ряде ситуаций. Если вы столкнулись с подобной проблемой, то первым делом взгляните на следующие причины:

  • Правильно ли введен URL?
  • Присутствует ли файл на сервере? Возможно он был удален или перемещен?
  • Правильно ли указан корневой каталог сервера в настройках?
  • Имеет ли пользователь, под которым работает сервер, корректные права для чтения файла? Как правильно необходимо иметь права не только на чтение, но и на исполнение.
  • Используется ли символическая ссылка для обработки запроса? Если так, то правильно ли настроен ваш сервер для работы с ними?

500 внутрення ошибка сервера

Ошибка означает, что запрос не может быть обработан сервером, по неизвестной внутренней причине.

Самая частая причина - неправильная настройка сервера (некорректный.htaccess) или обращение к неустановленному пакету PHP.

502 ошибочный шлюз

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

Если сервер выполняет роль обратного прокси сервера, например является балансировщиком нагрузки, то убедитесь в том, что:

  • Бекэнд сервера (отвечающие за обработку запроса) исправны
  • Прокси правильно настроен, все бекэнд сервера корректно указаны
  • Сетевое соединение между задействованными серверами рабочее. Если сервера работают при использовании различных портов, проверьте, что файрвол не блокирует эти соединения.

503 служба недоступна

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

Если сервер в этот момент не на обслуживании, то, как правило, это говорит о том, что серверу недостаточно CPU ресурсов или памяти для обработки запроса. Возможно на вашем сервере стоит ограничение на одновременное количество пользователей.

504 таймаут шлюза

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

Возможные причины:

  • Плохое сетевое соединение
  • Бекэнд сервер слишком медленно обрабатывает запрос ил-за недостатка ресурсов
  • Таймаут сервера слишком короткий

Заключение

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

Доброго времени суток всем читателям блога сайт! Наверняка почти каждый из вас, пользователей интернета, сталкивался с такой проблемой – вместо страницы сайта вдруг возникает сообщение 500 internal server error , что означает — внутренняя ошибка сервера.

Цифра 500 в данном случае — это код статуса протокола HTTP, который расшифровывается как указание на то, что конфигурация сервера нарушена. То есть, возникает определенная ошибка на сервере, или же один из его узлов дал сбой ил отказал полностью. Такая ошибка – это не вина вашего сайта, ее можно наблюдать на самых разных сайтах, построенных на самых разных CMS.

Часто 500 ошибка сервера может возникнуть в Joomla, WordPress, OpenCart, Битрикс, DLE и многих других, даже самописных. Но, хоть от нас здесь мало что зависит, я предлагаю все же рассмотреть наиболее распространенные причины, по которым может возникнуть ошибка сервера, а также некоторые (они все же есть) способы устранения ошибки 500.

Это сообщение может значить, что программная сторона вашего сервера рабочая технически, но время от времени появляются непредвиденные внутренние ошибки. Как результат – ваш запрос не обрабатывается в рабочем режиме, поэтому через отведенное время в ответ на неотвеченные запросы пользователю (в данном случае это браузер посетителя или поисковая система), отдается код ошибки сервера 500.

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

Из-за чего показывается ошибка 500 и как исправляется

  1. Неправильно выставлены права доступа на директории сайта и/или их файлы. Это ваш недосмотр или неведение, но ошибки сервера в этом случае имеют место быть. Если на файлы, написанные на php и размещенные на вашем хостинге, установлены права на запись 777, то скрипты могут блокироваться сервером и не выполняться. Вам, соответственно, браузер покажет ошибку 500. Хотя все в этом случае зависит от настроек хостера. Поэтому выбирайте надежного партнера, с весомыми рекомендациями. Случаться эта неприятность может, потому что права доступа 777 позволяют всем пользователям аккаунта проводить любые операции с файлами и папками, что очень сильно влияет на целостность вашего веб-ресурса и его безопасность. Оградить себя от этого может только единоличное управление своим аккаунтом – не давайте никому доступ в корневые папки сайтов!

Как можно решить: Необходимо проверить права доступа на запись всех папок и файлов ваших сайтов. Для папок (директорий) рекомендуется выставлять права доступа 755, для исполняемых скриптов – права доступа 600, а для остальных файлов – права 644. Если нужно установить права 777, то поставщик заранее предупреждает об этом.

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

Как можно решить: Попробуйте оптимизировать скрипт. Найти медленно работающий скрипт несложно – для этого есть специальные сервисы. Еще одно решение – увеличение времени ожидания сервера. Но оно возможно только в том случае, если вы заказали VPS или выделенный сервер, а на обычном виртуальном хостинге это сделать не получится. Разве что техподдержка сделает для вас исключение.

  1. Файл настроек.htaccess может содержать неправильные директивы или такие правила, которые не поддерживаются вашим сервером. Файл.htaccess пишется в очень строгих рамках, и если вы при его настройке допустили какие-то ошибки, то в результате обязательно получите ошибку 500 Internal Server Error. На продвинутых хостингах файл.htaccess предлагается хостером, и ошибок в нем быть не может, если только вы сами их туда не впишете.

Как можно решить: Убедитесь в наличии файла.htaccess. Он должен лежать в корневой директории вашего сайта. Если он есть, сделайте резервную копию файла и удалите его совсем. Сайт без файла.htaccess отлично работает, и если так и случилось – значит, виноват файл, его нужно корректировать или попросить хостера дать новый файл.

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

/home/UXXXXX/vash-sait.ru/www/.htaccess: Invalid command "RewritRule", perhaps mis-spelled or defined by a module not included in the server configuration

То есть, в этом сообщении вы увидите, какая директива вызывает ошибку. В нашем примере это директива RewritRule – такой директивы просто не существует. Есть директива RewriteRule, но в нашем примере пропущена одна буква, поэтому сервер отвечает ошибкой.

  1. Скрипт очень большой или многофункциональный, поэтому для его работы нужно большое количество памяти. Такая причина может возникнуть на виртуальном хостинге, где в php настройках сайта устанавливается лимит памяти, а также отслеживается общий объем памяти, потребляемой всеми скриптами и файлами. Если потребление памяти превышает установленный лимит (смотрите свой тарифный план на хостинге), то работа скрипта прекращается и вы получаете долгожданное сообщение error 500 внутренняя ошибка сервера . Устанавливается такое ограничение для того, чтобы предупредить появление повышенной нагрузки на сервер со стороны аккаунтов виртуального хостинга.

Как можно решить: обратитесь в службу технической поддержки хостинга. Если они не помогут устранить ошибку 500 — меняйте хостинг.

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



Рекомендуем почитать

Наверх