Что такое ошибка 500 и как её исправить
Ошибка 500 (Internal Server Error) — это внутренняя проблема сервера. Она возникает, когда браузер или другой клиент отправляет серверу запрос, а тот не может его обработать.
Одна из самых частых причин появления ошибки 500 — это неправильный синтаксис файла .htaccess. Кроме того, она порой возникает после загрузки на сервер неверных CGI‑скриптов или установки некорректных прав доступа.
То есть в ошибке 500, как и в других ответах с кодом, который начинается на цифру 5, виноваты разработчики или администраторы сервера. Но никак не пользователи.
Что делать пользователю при ошибке 500
Если вы увидели ошибку 500 на чужом сайте, есть два варианта.
Подождать
Если у вас нет доступа к этому ресурсу, вы не сможете отредактировать файл, изменить настройки или выполнить другие подобные действия. Поэтому стоит подождать, пока администратор исправит ошибку, и зайти на сайт позднее.
Сообщить администратору ресурса
Не все владельцы сайтов круглосуточно мониторят логи и читают сообщения об ошибках. Вполне возможно, что администратор просто не в курсе, что сайт перестал работать.
В таком случае вы можете помочь. Попробуйте найти контактную информацию и связаться с владельцем ресурса, чтобы сообщить о проблеме. Если на самом сайте из‑за ошибки 500 вы никаких полезных данных не видите, найдите сохранённую копию страницы в поисковиках или в архиве интернета.
Что при ошибке 500 пользователю делать бессмысленно
Так как проблема связана с сервером, то нет резона что‑то предпринимать со стороны клиента. Поэтому не пытайтесь:
- перезагружать компьютер;
- менять браузер;
- переустанавливать ПО; .
Что делать администратору при ошибке 500
Конечно, многое зависит от специфики вашего ресурса: на каком движке он работает, на каком хостинге располагается и что вы меняли на сайте в последнее время. Но всё же универсальные рекомендации в большинстве случаев помогают избавиться от ошибки 500.
Советуем последовательно попробовать каждый из вариантов, если он, конечно, актуален для вашего ресурса.
Проверить синтаксис файла .htaccess
Если вы используете веб‑сервер Apache, то в корне вашего сайта или во вложенных папках, скорее всего, есть файл .htaccess. В нём хранятся серверные настройки.
В большинстве случаев ресурс будет работать и без этого файла. Попробуйте переименовать .htaccess, например, в .htaccess_, а затем снова зайти на главную страницу сайта.
Если ошибка 500 исчезла, значит, дело именно в .htaccess. Проверьте синтаксис этого файла — возможно, при редактировании вы где‑то вставили лишний символ или допустили опечатку. Если есть предыдущая версия настроек, верните её и посмотрите, появляется ли ошибка 500.
Иногда помогает закомментировать строку Options в .htaccess — вставить # в самом её начале. Если это не сработало, закомментируйте и другие строки, а затем последовательно убирайте #, чтобы найти проблемное место в файле.
Если вы отредактировали .htaccess, проверьте, сохранились ли изменения. Бывает, что хостер выставляет на этот файл права, которые запрещают редактирование. В таком случае попробуйте скачать .htaccess к себе на компьютер, изменить файл в любом текстовом редакторе и залить на сайт вместо старой версии.
Посмотреть лог ошибок
Если вы недавно проводили какие‑то работы на сайте, возможно, это привело к ошибке 500. Откройте логи и посмотрите, нет ли там сообщений о проблемах. Если есть, проанализируйте их и попробуйте отменить последние корректировки.
Хостеры обычно указывают, где по умолчанию хранятся логи и как получить к ним доступ из панели управления. Эти сведения можно найти в разделах помощи или FAQ (frequently asked questions — часто задаваемые вопросы) на сайте хостинга.
Выставить права для CGI‑скриптов
Если вы используете CGI‑скрипты, то сами файлы с ними и папки, в которых они лежат, должны иметь право доступа 0755 (drwxr‑xr‑x). Такая комбинация разрешает запись в них только для владельца. Остальные пользователи могут лишь читать эти файлы и запускать их.
Если у вас установлены другие права доступа, это может приводить к ошибке 500.
Проверить содержимое CGI‑скриптов
Корректные CGI‑скрипты должны иметь окончания строк в формате Unix (\n), а не в формате Windows (\r\n). Чтобы сохранить правильный вариант, загружать код на большинство хостингов нужно по FTP в режиме ASCII. Если вы не знаете, какие настройки использовали, перезалейте скрипты и посмотрите, не исчезла ли ошибка 500.
Также CGI‑программы могут формировать неправильные HTTP‑заголовки ответа. В этом случае вы, скорее всего, увидите ошибки в логах.
Удалить или отключить недавно установленные плагины или компоненты
Бывает, что отдельные компоненты сайта или плагины конфликтуют между собой. Это также приводит к ошибке 500 и другим проблемам на стороне сервера.
Если вы недавно устанавливали модули либо обновляли их, попробуйте отключить эти элементы в панели администрирования. Возможно, после этого на сайте возникнут другие ошибки. Но если ответ 500 больше не приходит, дело как раз в конфликте компонентов или плагинов.
Оптимизировать скрипты
Если скрипты выполняются долго или для них не хватает ресурсов, попробуйте пересмотреть их содержимое. Возможно, код нуждается в оптимизации, чтобы он потреблял меньше процессорного времени и оперативной памяти.
Особенно часто скриптам не хватает ресурсов, если вы используете виртуальный хостинг. Там количество памяти жёстко ограничено, чтобы у всех аккаунтов в рамках одного физического сервера были равные возможности.
Попробуйте разбить скрипт на блоки и оценить эффективность работы каждого из них. Если в коде много внешних вызовов или потребление памяти стабильно растёт вплоть до установленного лимита, с этим точно стоит что‑то сделать.
Увеличить объём оперативной памяти сервера
Бывает, что даже после оптимизации скриптов они всё равно потребляют слишком много памяти. В этом случае придётся перейти на более дорогой пакет обслуживания на хостинге или, если предоставляется такая возможность, увеличить непосредственно выделение памяти. И не переплачивать за другие ресурсы, которые вам не нужны.
Попросить помощи
Обратитесь в службу поддержки хостера или на профильный форум. Поищите похожие ошибки на Stack Overflow — если там нет подходящей темы, создайте новую. Опишите ситуацию как можно более детально и будьте готовы пробовать различные варианты, которые вам предложат в комментариях.
Правда, порой ответов приходится ждать долго. Поэтому имеет смысл зайти в похожие темы и попросить помощи там.
Наконец, можно зарегистрироваться на сайтах для фрилансеров в качестве заказчика. Специалисты помогут вам решить проблему, пусть и не бесплатно.
Код состояния HTTP в IIS 7.0 или более поздних версий
В этой статье приводится список кодов состояния протокола HTTP в Microsoft IIS 7.0 или более поздних версий.
Первоначальная версия продукта: службы IIS версии 7.0 или более поздних версий
Оригинальный номер базы знаний: 943891
Введение
При попытке получить доступ к содержимому на сервере, на котором выполняются службы IIS 7.0, 7.5 или более поздних версий с помощью протокола HTTP, IIS возвращает числовой код, указывающий на состояние ответа. Код состояния HTTP записывается в журнал IIS. Кроме того, код состояния HTTP может отображаться в клиентском браузере.
Код состояния HTTP может указывать на успешность или неуспешность запроса. Код состояния HTTP также может отображать точную причину, по которой запрос не был успешным.
Расположение файлов журналов
По умолчанию IIS 7.0 или более поздних версий помещает файлы журналов в следующую папку:
inetpub\logs\Logfiles
Данная папка содержит отдельные каталоги для каждого веб-сайта. Файлы журнала создаются в каталогах ежедневно и по умолчанию называются с помощью даты. Пример имени файла журнала: exYYMMDD.log.
Коды состояния HTTP
В данном разделе описаны коды состояния HTTP, которые используются в IIS 7.0 или более поздних версий.
В этой статье не приводится список всех возможных кодов состояния HTTP, предусмотренных в спецификации HTTP. В данной статье перечислены только коды состояния HTTP, которые может отправлять IIS 7.0 или более поздних версий. Например, настраиваемый фильтр ISAPI или настраиваемый модуль HTTP может установить собственный код состояния HTTP.
1 xx — информация
Эти коды состояния HTTP обозначают предварительный ответ. Клиентский компьютер получит один или несколько ответов 1 xx, прежде чем получить обычный ответ.
В IIS 7.0 или более поздних версий используются нижеперечисленные коды состояния HTTP.
- 100 — продолжение.
- 101 — смена протоколов.
2 xx — запрос принят
Эти коды состояния HTTP указывают на успешное принятие сервером запроса.
В IIS 7.0 или более поздних версий используются перечисленные ниже коды состояния успеха HTTP.
- 200 — ОК. Запрос клиента выполнен успешно.
- 201 — создан.
- 202 — принято.
- 203 — недостоверные сведения.
- 204 — содержимое отсутствует.
- 205 — сброс содержимого.
- 206 — частичное содержимое.
3 xx — перенаправление
Эти коды состояния HTTP указывают на необходимость выполнения клиентским браузером дополнительных действий для выполнения запроса. Например, клиентскому браузеру может потребоваться запросить другую страницу на сервере. Или же повторить запрос, используя прокси-сервер.
В IIS 7.0 или более поздних версий используются нижеприведенные коды состояния перенаправления HTTP.
- 301 — перемещено навсегда.
- 302 — объект перемещен.
- 304 — объект не изменялся.
- 307 — временное перенаправление.
4 xx — ошибка клиента
Эти коды состояния HTTP указывают на возникновение ошибки, вероятно, на стороне клиентского браузера. Например, клиентский браузер мог запросить несуществующую страницу. Или не предоставить достоверные сведения для проверки подлинности.
В IIS 7.0 или более поздних версий используются перечисленные ниже коды состояния клиентской ошибки HTTP.
400 — неверный запрос. Серверу не удалось распознать запрос из-за ошибки в синтаксисе. Клиенту не следует повторять запрос без внесения изменений.
IIS 7.0 или более поздних версий определяет нижеприведенные коды состояния HTTP, которые указывают на более конкретную причину ошибки 400.
- 400.1 — недопустимый заголовок назначения.
- 400.2 — недопустимый заголовок глубины.
- 400.3 — недопустимый заголовок "Если".
- 400.4 — недопустимый заголовок перезаписи.
- 400.5 — недопустимый заголовок преобразования.
- 400.6 — недопустимое тело запроса.
- 400.7 — недопустимая длина содержимого.
- 400.8 — недопустимое время ожидания.
- 400.9 — недопустимый маркер блокировки.
401 — доступ запрещен.
IIS 7.0 или более поздних версий определяет несколько кодов состояния HTTP, которые указывают на более конкретную причину ошибки 401. Приведенные ниже отдельные коды состояния HTTP отображаются в клиентском браузере, но не отображаются в журнале IIS.
- 401.1 — ошибка входа.
- 401.2 — вход не выполнен из-за настройки сервера.
- 401.3 — доступ запрещен списком управления доступом к ресурсу.
- 401.4 — доступ запрещен фильтром.
- 401.5 — авторизация не выполнена из-за приложения ISAPI/CGI.
- 401.501 — доступ запрещен: слишком много запросов от одного IP-адреса клиента; достигнут предел скорости одновременно выполняемых запросов в рамках динамического ограничения IP-адресов.
- 401.502 — запрещено: слишком много запросов от одного IP-адреса клиента; достигнут максимальный предел скорости запросов в рамках динамического ограничения IP-адресов.
- 401.503 — доступ запрещен: IP-адрес включен в запрещающий список ограничения IP-адресов
- 401.504 — доступ запрещен: имя узла включено в запрещающий список ограничения IP-адресов
IIS 7.0 или более поздних версий определяет приведенные ниже коды состояния HTTP, которые указывают на более конкретную причину ошибки 403.
- 403.1 — доступ на выполнение запрещен.
- 403.2 — доступ на чтение запрещен.
- 403.3 — доступ на запись запрещен.
- 403.4 — требуется SSL.
- 403.5 — требуется SSL 128.
- 403.6 — IP-адрес отклонен.
- 403.7 — требуется сертификат клиента.
- 403.8 — отказ в доступе к узлу.
- 403.9 — запрещено: слишком много клиентов пытается подключиться к веб-серверу.
- 403.10 — запрещено: настройками веб-сервера запрещен доступ для выполнения.
- 403.11 — запрещено: пароль был изменен.
- 403.12 — отказ доступа от программы сопоставления.
- 403.13 — сертификат клиента отозван.
- 403.14 — вывод каталогов запрещен.
- 403.15 — запрещено: превышен лимит доступа клиентов на веб-сервере.
- 403.16 — сертификат клиента недействителен либо не является доверенным.
- 403.17 — срок действия сертификата клиента истек, либо сертификат еще не вступил в силу.
- 403.18 — запрос указанного URL-адреса не может быть выполнен в текущем пуле приложений.
- 403.19 — невозможно выполнять приложения CGI для этого клиента в данном пуле приложений.
- 403.20 — запрещено: вход систему с помощью служб Passport не выполнен.
- 403.21 — запрещено: доступ к источнику запрещен.
- 403.22 — запрещено: неограниченная глубина запрещена.
- 403.501 — запрещено: слишком много запросов от одного IP-адреса клиента; достигнут предел скорости одновременно выполняемых запросов в рамках динамического ограничения IP-адресов.
- 403.502 — запрещено: слишком много запросов от одного IP-адреса клиента; достигнут максимальный предел скорости запросов в рамках динамического ограничения IP-адресов.
- 403.503 — запрещено: IP-адрес включен в запрещающий список ограничения IP-адресов
- 403.504 — запрещено: имя узла включено в запрещающий список ограничения IP-адресов
404 — объект не найден.
IIS 7.0 или более поздних версий определяет нижеперечисленные коды состояния HTTP, которые указывают на более конкретную причину ошибки 404.
404,0 — объект не найден.
404.1 — сайт не найден
404.2 — ограничение ISAPI или CGI.
404.3 — ограничение типа MIME.
404.4 — обработчик не настроен.
404.5 — запрещено конфигурацией фильтрации запросов.
404.6 — команда отклонена.
404.7 — расширение имени файла отклонено.
404.8 — скрытое пространство имен.
404.9 — атрибут файла скрыт.
404.10 — превышена допустимая длина заголовка запроса.
404.11 — запрос содержит последовательность двойного преобразования символов.
404.12 — запрос содержит знаки расширенного набора.
404.13 — превышен лимит длины содержимого.
404.14 — превышена допустимая длина URL-адреса запроса.
404.15 — строка запроса слишком длинная.
404.16 — запрос DAV передан обработчику файла статистики.
404.17 — динамическое содержимое сопоставлено обработчику файла статистики с помощью сопоставления MIME с подстановочными знаками.
404.18 — последовательность строк запросов отклонена.
404.19 — запрещено правилом фильтрации.
404.20 — слишком много сегментов URL-адреса
404.501 — не найдено: слишком много запросов от одного IP-адреса клиента; достигнут предел скорости одновременно выполняемых запросов в рамках динамического ограничения IP-адресов.
404.502 — не найдено: слишком много запросов от одного IP-адреса клиента; достигнут максимальный предел скорости запросов в рамках динамического ограничения IP-адресов.
404.503 — не найдено: IP-адрес включен в запрещающий список ограничения IP-адресов
404.504 — не найдено: имя узла включено в запрещающий список ограничения IP-адресов
405 — метод запрещен.
406 — браузером клиента не принимается тип MIME запрашиваемой страницы.
408 — истекло время ожидания запроса.
412 — необходимое условие не выполнено.
5 xx — ошибка сервера
Эти коды состояния HTTP указывают на невозможность выполнения сервером запроса из-за того, что сервер сталкивается с ошибкой.
В IIS более поздних версий используются нижеприведенные коды состояния ошибки сервера HTTP.
500 — внутренняя ошибка сервера.
IIS 7.0 или более поздних версий определяет перечисленные ниже коды состояния HTTP, которые указывают на более конкретную причину ошибки 500.
500.0 — ошибка модуля или ISAPI.
500.11 — приложение на веб-сервере закрывается.
500.12 — приложение на веб-сервере перезапускается.
500.13 — веб-сервер перегружен.
500.15 — прямые запросы для Global.asax запрещены.
500.19 — недопустимые данные конфигурации.
500.21 — модуль не распознан.
500.22 — конфигурация ASP.NET httpModules не применяется в режиме управляемого конвейера.
500.23 — конфигурация ASP.NET httpHandlers не применяется в режиме управляемого конвейера.
500.24 — конфигурация олицетворения ASP.NET не применяется в режиме управляемого конвейера.
500.50 — при обработке уведомления RQ_BEGIN_REQUEST произошла ошибка перезаписи. Возникла ошибка конфигурации или выполнения правила для входящего трафика.
Здесь конфигурация распределенных правил считывается как для входящих, так и для исходящих правил.
500.51 — при обработке уведомления GL_PRE_BEGIN_REQUEST произошла ошибка перезаписи. Возникла ошибка глобальной конфигурации или выполнения глобального правила.
Здесь считывается конфигурация глобальных правил.
500.52 — при обработке уведомления RQ_SEND_RESPONSE произошла ошибка перезаписи. Произошло выполнение правила для исходящего трафика.
500.53 — при обработке уведомления RQ_RELEASE_REQUEST_STATE произошла ошибка перезаписи. Произошла ошибка выполнения правила для исходящего трафика. Правило настроено на выполнение до обновления пользовательского кэша вывода.
500.100 — внутренняя ошибка ASP.
501 — значения, указанные в заголовке, определяют нереализованную конфигурацию.
502 — веб-сервером в качестве шлюза или прокси-сервера получен недопустимый ответ.
IIS 7.0 или более поздних версий определяет нижеприведенные коды состояния HTTP, которые указывают на более конкретную причину ошибки 502.
- 502.1 — истекло время ожидания приложения CGI.
- 502.2 — недопустимый шлюз: преждевременный выход.
- 502.3 — недопустимый шлюз: ошибка подключения к серверу пересылки (ARR).
- 502.4 — недопустимый шлюз: сервер отсутствует (ARR).
503 — служба недоступна.
IIS 7.0 или более поздних версий определяет приведенные ниже коды состояния HTTP, которые указывают на более конкретную причину ошибки 503.
- 503.0 — пул приложений недоступен.
- 503.2 — достигнут предел одновременно выполняемых запросов.
- 503.3 — очередь ASP.NET переполнена
- 503.4 — очередь FastCGI переполнена
Распространенные коды состояний HTTP и их причины
В нижеприведенной таблице описаны причины отображения некоторых распространенных кодов состояния HTTP.
Код | Описание | Примечания |
---|---|---|
200 | OK | Запрос успешно обработан IIS 7.0 или более поздних версий. |
304 | Не изменено | Клиентский браузер запрашивает документ, который уже находится в кэше. И документ не был изменен с момента своего кэширования. Клиентский браузер использует кэшированную копию документа вместо скачивания его с сервера. |
400 | Недопустимый запрос | Файл стека протокола HTTP (Http.sys) препятствует обработке запроса службами IIS 7.0 или более поздних версий из-за проблемы в запросе. Обычно этот код состояния HTTP означает, что запрос содержит недопустимые символы или последовательности или же противоречит параметрам безопасности в файле Http.sys. |
401.1 | Ошибка входа в систему | Безуспешная попытка входа в систему, вероятно, из-за недопустимого имени пользователя или пароля. |
401.2 | Вход не выполнен из-за настройки сервера | Этот код состояния HTTP указывает на проблему в параметрах конфигурации проверки подлинности на сервере. |
401.3 | Доступ запрещен списком управления доступом к ресурсу | Этот код состояния HTTP указывает на проблему в разрешениях файловой системы NTFS. Эта проблема может возникать, даже если разрешения для файла, к которому вы пытаетесь получить доступ, установлены правильно. Например, эта ошибка возникает, если у учетной записи IUSR отсутствуют права доступа к каталогу C:\Winnt\System32\Inetsrv. |
401.4 | Авторизация не выполнена из-за фильтра | Фильтр ISAPI препятствует обработке запроса из-за проблемы с авторизацией. |
401.5 | Авторизация не выполнена из-за приложения ISAPI/CGI | Приложение ISAPI или приложение CGI препятствуют обработке запроса из-за проблемы с авторизацией. |
403.1 | Доступ на выполнение запрещен | Не предоставлен соответствующий уровень разрешения на выполнение. |
403.2 | Доступ на чтение запрещен | Не предоставлен соответствующий уровень разрешения на чтение. Убедитесь, что службы IIS 7.0 или более поздних версий настроены на предоставление разрешения на чтение для каталога. Кроме того, если используется документ по умолчанию, убедитесь, что данный документ существует. |
403.3 | Доступ на запись запрещен | Не предоставлен соответствующий уровень разрешения на запись. Проверьте разрешения IIS 7.0 и более поздних версий и разрешения файловой системы NTFS. Убедитесь, что они настроены для предоставления каталогу разрешения на запись. |
403.4 | Требуется SSL | Запрос выполнен по небезопасному каналу. Но для веб-приложения требуется подключение SSL. |
403.5 | Требуется SSL 128 | Сервер настроен на требование 128-битного SSL-соединения. Но запрос не был отправлен с использованием 128-битного шифрования. |
403.6 | IP-адрес отклонен | Сервер настроен на запрет доступа к текущему IP-адресу. |
403.7 | Требуется сертификат клиента | Сервер настроен на требование сертификата для проверки подлинности клиента. Но в клиентском браузере не установлен соответствующий сертификат клиента. Дополнительные сведения см. в статье Ошибка HTTP 403.7 при запуске веб-приложения, размещенного на сервере, на котором выполняется IIS 7.0. |
403.8 | Нет доступа к сайту | Сервер настроен на отклонение запросов на основе DNS-имени клиентского компьютера. Дополнительные сведения см. в статье Динамическое ограничение IP-адресов. |
403.12 | Доступ запрещен модулем сопоставления | Доступ к странице возможен только при наличии сертификата клиента. Но идентификатору пользователя, сопоставленному с сертификатом клиента, отказано в доступе к файлу. |
403.13 | Сертификат клиента отозван | Клиентский браузер пытается использовать сертификат клиента, отозванный выдающим центром сертификации. |
403.14 | Вывод каталогов запрещен | Сервер не настроен для отображения списков каталогов содержимого, и не установлен документ по умолчанию. Дополнительные сведения см. в статье Ошибка "HTTP 403.14 — Запрещено" при открытии веб-страницы IIS. |
403.16 | Сертификат клиента недействителен либо не является доверенным. | Клиентский браузер пытается использовать недействительный клиентский сертификат. Или сервер, на котором запущены IIS 7.0 и более поздние версии, не доверяет клиентскому сертификату. Дополнительные сведения см. в статье Ошибка HTTP 403.16 при попытке получения доступа к размещенному на IIS 7.0 веб-сайту. |
403.17 | Срок действия сертификата клиента истек, либо сертификат еще не вступил в силу. | Клиентский браузер пытается использовать сертификат клиента, срок действия которого истек, или сертификат, который еще не вступил в силу. |
403.18 | Запрос указанного URL-адреса не может быть выполнен в текущем пуле приложений | Настраиваемая страница ошибки настроена. И пул приложений страницы ошибки клиента отличается от пула приложений запрашиваемого URL-адреса. |
403.19 | Невозможно выполнять приложения CGI для этого клиентского браузера в данном пуле приложений. | Удостоверение пула приложений не имеет права пользователя на замену маркера уровня процесса. |
404.0 | Не найдено. | Файл, к которому вы пытаетесь получить доступ, был перемещен или не существует. |
404.2 | Ограничение ISAPI или CGI. | На компьютере ограничен доступ к запрашиваемому ресурсу ISAPI или запрашиваемому ресурсу CGI. Дополнительные сведения см. в статье Ошибка HTTP 404.2 при посещении веб-страницы, размещенной на компьютере, на котором выполняется IIS 7.0. |
404.3 | Ограничение типа MIME. | Текущее сопоставление MIME для запрашиваемого типа расширения недействительно или не настроено. |
404.4 | Обработчик не настроен. | У расширения имени файла запрашиваемого URL-адреса нет обработчика, настроенного на обработку запроса на веб-сервере. |
404.5 | Запрещено конфигурацией фильтрации запросов. | Запрашиваемый URL-адрес содержит последовательность символов, которая блокируется сервером. |
404.6 | Команда отклонена. | Запрос отправлен с помощью ненастроенной или недействительной HTTP-команды. |
404.7 | Расширение имени файла отклонено. | Запрашиваемое расширение имени файла запрещено. |
404.8 | Скрытое пространство имен. | Использование запрашиваемого URL-адреса запрещено, поскольку каталог скрыт. |
404.9 | Атрибут файла скрыт. | Запрашиваемый файл скрыт. |
404.10 | Превышена допустимая длина заголовка запроса. | Запрос отклонен из-за превышения допустимой длины его заголовка. |
404.11 | Запрос содержит последовательность двойного преобразования символов. | Запрос содержит последовательность двойного преобразования символов. |
404.12 | Запрос содержит знаки расширенного набора. | Запрос содержит знаки расширенного набора, а сервер настроен на запрещение их использования. |
404.13 | Превышен лимит длины содержимого. | Запрос содержит заголовок Content-Length . Значение заголовка Content-Length превышает допустимый для сервера предел. Дополнительные сведения см. в статье Сообщение "Ошибка HTTP 404.13 — CONTENT_LENGTH_TOO_LARGE" при посещении веб-сайта, размещенного на сервере, на котором выполняется IIS 7.0. |
404.14 | Превышена допустимая длина URL-адреса запроса. | Длина запрашиваемого URL-адреса превышает допустимый для сервера предел. |
404.15 | Строка запроса слишком длинная. | Запрос содержит строку запроса, которая превышает допустимый для сервера предел. |
404.17 | Динамическое содержимое сопоставлено обработчику файла статистики. | Дополнительные сведения см. в статье Сообщение "Ошибка HTTP 404.17 — не найдено" при посещении веб-сайта, размещенного на IIS 7.0. |
405.0 | Метод запрещен. | Запрос отправлен с помощью недействительного метода HTTP. Дополнительные сведения см. в статье Ошибка HTTP 405.0 при посещении веб-сайта, размещенного на сервере, на котором выполняется IIS. |
406.0 | Недопустимый тип MIME. | Запрос отправлен с помощью заголовка Accept , который содержит недействительное значение MIME. |
412.0 | Необходимое условие не выполнено. | Запрос отправлен с помощью заголовка If-Match , который содержит недействительное значение. |
500 | Внутренняя ошибка сервера. | Этот код состояния HTTP может возникать по многим причинам на стороне сервера. Дополнительные сведения см. в статье Сообщение "Ошибка HTTP 500.0 — внутренняя ошибка сервера" при открытии веб-страницы IIS 7.0. |
500.11 | Приложение на веб-сервере закрывается. | Обработка запроса не осуществляется из-за закрытия конечного пула приложений. Дождитесь завершения рабочего процесса закрытия, а затем повторите запрос. Если проблема не исчезнет, возможно, в веб-приложении возникли ошибки, которые препятствуют его правильному закрытию. |
500.12 | Приложение на веб-сервере перезапускается. | Обработка запроса не осуществляется из-за перезапуска конечного пула приложений. После обновления страницы данный код состояния HTTP должен исчезнуть. Если этот код состояния HTTP появится снова после обновления страницы, проблема может быть вызвана антивирусной программой, которая сканирует файл Global.asa. Если проблема не исчезнет, возможно, в веб-приложении возникли ошибки, которые препятствуют его правильному перезапуску. |
500.13 | Веб-сервер перегружен. | Обработка запроса не осуществляется, поскольку сервер перегружен и не может принимать новые входящие запросы. Обычно этот код состояния HTTP означает, что количество одновременно выполняемых входящих запросов превышает количество, которое может обрабатывать веб-приложение IIS 7.0 или более поздних версий. Эта проблема может появиться из-за слишком низких параметров конфигурации производительности, недостаточности оборудования или возникновения узкого места в веб-приложении IIS 7.0 или более поздних версий. Распространенным методом устранения неполадок является создание файла дампа памяти процессов IIS 7.0 или более поздних версий при возникновении ошибки и последующая отладка файла дампа памяти. |
500.15 | Прямые запросы для Global.asax запрещены. | Сделан прямой запрос на файл Global.asa или файл Global.asax. |
500.19 | Недопустимые данные конфигурации. | Этот код состояния HTTP возникает из-за проблемы в связанном файле applicationhost.config или связанном файле Web.config. Дополнительные сведения см. в статье Ошибка HTTP 500.19 при открытии веб-страницы IIS. |
500.100 | Внутренняя ошибка ASP. | Ошибка возникает при обработке страницы ASP. Чтобы получить более конкретную информацию об этой ошибке, отключите вывод подробных сообщений об ошибках HTTP в веб-браузере. Кроме того, в журнале IIS может отображаться номер ошибки ASP, соответствующий возникшей ошибке. |
503.0 | Служба недоступна. | Запрос отправлен в пул приложений, который в настоящее время остановлен или отключен. Для устранения этой проблемы необходимо убедиться, что конечный пул приложений запущен. В журнале событий могут содержаться сведения о том, почему пул приложений остановлен или отключен. |
503.2 | Превышено максимально допустимое количество одновременно выполняемых запросов. | Для свойства appConcurrentRequestLimit установлено значение, которое меньше текущего количества одновременно выполняемых запросов. IIS 7.0 или более поздних версий не допускает одновременное выполнение запросов, количество которых превышает значение свойства appConcurrentRequestLimit . |
Дополнительные коды состояния HTTP, добавленные в IIS 8.0
Дополнительный код | Описание |
---|---|
400.10 | Недействительный заголовок XFF |
400.11 | Недействительный запрос WebSocket |
Дополнительные коды состояния HTTP, добавленные в ARR 3.0.1916
Дополнительный код | Описание |
---|---|
400.601 | Недопустимый запрос клиента (ARR) |
400.602 | Недопустимый формат времени (ARR) |
400.603 | Ошибка диапазона анализа (ARR) |
400.604 | Клиент потерян (ARR) |
400.605 | Достигнуто максимальное количество пересылок (ARR) |
400.606 | Ошибка асинхронного соревнования (ARR) |
502.2 | Сбой запроса на сопоставление (ARR) |
502.3 | Ошибка асинхронного соревнования WinHTTP (ARR) |
502.4 | Сервер отсутствует (ARR) |
502.5 | Сбой WebSocket (ARR) |
502.6 | Сбой перенаправленного запроса (ARR) |
502.7 | Сбой запроса на выполнение (ARR) |
Ссылки
Дополнительные сведения об определениях кодов состояния HTTP см. на странице HTTP/1.1: определения кодов состояния.
Заявление об отказе от ответственности за сведения о продуктах сторонних производителей
В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.
Коды ошибок HTTP – список ошибок сервера и клиента
Практически каждый сталкивался с ситуацией, когда в ответ на попытку открыть сайт, загрузить файл или приложение браузер выдает ошибку, например, 404 – Not Found. Каждая ошибка имеет свой код – трехзначное число, по которому можно определить, что именно произошло с запросом.
На самом деле веб-сервер высылает трехзначные коды в ответ на любое обращение браузера к нему, даже если запрос обработан успешно. Но обычный пользователь сталкивается только с кодами, обозначающими ошибку обработки запроса, а успешные и информационные ответы сервера остаются для него невидимыми.
В этой статье мы разберем, какие виды ошибок зашифрованы в ответах и почему эти ошибки возникают.
Ошибки 4xx (400-414)
Ответы с кодами от 400 до 414 называют "ошибками на стороне клиента". Сервер дает понять, что что-то не так с самим запросом. Несмотря на классификацию, такие ошибки часто необходимо исправлять вебмастеру, а не пользователю. Их причиной могу быть неправильные настройки веб-сервера, скриптов сайта и т. п.
Ошибка 400
Расшифровывается как "неверный запрос". Код ошибки 400 говорит о том, что запрос составлен неправильно, и сервер не может его понять. Если вы формируете запрос вручную, то, возможно, указали неверный URL. Но чаще всего запрос повреждается в результате технического сбоя или искажения данных при передаче. Это может произойти по нескольким причинам:
- передача данных блокируется антивирусом или брандмауэром Windows;
- данные искажаются при нестабильном соединении;
- клиент (браузер или приложение) пытается загрузить слишком большой файл;
- повреждены или устарели куки на стороне пользователя.
Ошибка 401
Пояснение – "не авторизовано". Код ошибки 401 означает, что запрос направлен к защищенным ресурсам, для которых требуется аутентификация. Сервер ожидает получить логин и пароль, но в запросе их нет.
Ошибка 403
Ответ означает "Запрещено". У пользователя нет прав на доступ к файлам или папкам по ссылке. Чаще всего вебмастеру исправлять ничего не нужно, все настроено верно. А вот пользователю необходимо проверить, правильно ли он указал адрес страницы. Иногда из-за опечатки ссылка ведет в запрещенную для просмотра папку, а не на страницу сайта.
Если же пользователь не может попасть на страницу, которая должна быть разрешена к просмотру, то, возможно, в настройках сайта или внутренних ссылках есть ошибки, которые нужно исправить разработчику.
Ошибка 404
Самый популярный код ошибки – 404. Переводится как "не найдено". Такой ответ сервер отсылает, если не находит документ, файл или страницу по указанному пользователем адресу. Возможные причины:
- страница, которая ранее размещалась по этой ссылке, перемещена или удалена навсегда. В этом случае для SEO-продвижения будет лучше, чтобы сервер отдавал ответы с кодами 410 или 301, а не обрабатывал запрос как 404 ошибку. Вебмастеру нужно об этом позаботиться;
- страница недоступна временно из-за технических сбоев. В этом случае ничего делать не нужно за исключением устранения самих сбоев;
- пользователь опечатался и ввел неправильный адрес страницы. Предпринимать ничего не нужно, 404 ответ в этом случае является корректным.
Страницу, на которой посетитель видит код ошибки 404, рекомендуется оформить с пользой: дать ссылки на главную страницу сайта и популярные разделы, объяснить, почему пользователь видит эту ошибку. На многих сайтах на 404 странице можно увидеть креативное оформление, забавные анимации и т. п.
Ошибка 405
Расшифровка – "метод не поддерживается". Для каждого типа операций (загрузка, передача данных) http-протокол предусматривает использование своего метода (GET, POST и т. д.). Ошибка означает, что запрос на сервер выполнен с использованием неправильного метода. От клиента здесь мало что зависит, причины – в настройках веб-сервера. Например:
- происходит попытка обработки файлов с помощью метода POST, тогда как файлы этого формата должны обрабатываться непосредственно сервером Apache;
- PHP-скрипт не справляется с большим объемом импорта данных, такую операцию лучше проводить другими способами. Время, отведенное на работу скрипта, превышается, и возникает ошибка 405;
- некорректно настроено взаимодействие метода POST и модуля FastCGI.
Ошибка 406
Расшифровывается как "неприемлемо". Достаточно редкий ответ. Возникает, если сервер отдает информацию в виде, который не может распознать клиент (ваш браузер, или поисковый робот – если ошибка появляется при индексации страниц сайта). Чаще всего контент не распознается из-за сжатия или неподдерживаемого формата, иногда – неправильной кодировки.
Причина может быть в:
- установленном на хостинге брандмауэре ModSecurity. Он блокирует запросы, которые считает зловредными. Иногда "под раздачу" попадают и вполне безобидные обращения. Часто ошибка 406 появляется после установки плагинов, кодов рекламных баннеров;
- неверных заголовках Content-Type или Content-Encoding;
- отправке в ответ на запрос поискового робота сжатого контента, тогда как требуются данные без сжатия.
Ошибка 407
Пояснение переводится как "нужна аутентификация прокси". Возникает, если доступ в сеть или к определенным сайтам осуществляется через прокси-сервер, но в запросе нет данных для авторизации на нем. Пользователю нужно пройти аутентификацию. Обычно в тексте ответа с кодом 407 содержатся подсказки – как это сделать.
Ошибка 408
Переводится как "истекло время запроса". Может возникнуть при передаче больших файлов, временного сбоя интернет-подключения, перегрузке сервера в данный момент и т. д. Чаще всего никаких действий от вебмастера не требуется, за исключением случаев, когда 408 ошибка появляется часто и есть подозрение, что сервер не справляется с текущей нагрузкой. Тогда стоит подумать об аренде дополнительных ресурсов хостинга или переходе на более подходящий тарифный план.
Со стороны пользователя чаще всего устранить проблему можно простой перезагрузкой страницы. Также можно попробовать зайти на сайт позже или проверить стабильность интернет-соединения.
Ошибка 409
Произошел конфликт запроса и данных на сервере. Например, пользователь загружает файл устаревшей версии, в то время как аналогичный файл на сервере – более новый.
В некоторых случаях причиной может быть:
- конфликт обращений между файлами на самом сервере, тогда действия пользователя здесь ни при чем;
- конфликт с прокси, через которые идет обращение к серверу;
- вирусное ПО на компьютере пользователя;
- сбой в работе браузера.
Чаще всего ошибку можно устранить, просто загрузив корректный файл.
Ошибка 410
Страница или документ, к которому обращается запрос, недоступен. Ошибка 410 похожа на 404 с той лишь разницей, что она выдается, если данные по ссылке удалены навсегда.
Исправлять чаще всего ничего не нужно. Наоборот, рекомендуется прописывать код ответа 410 для документов или страниц, которые были удалены, чтобы поисковые роботы не тратили на них лимит сканирования при переобходе сайта.
Ошибка 411
Расшифровывается как "требуется длина". Такая ситуация может возникнуть при передаче файлов определенными методами и выставленных ограничениях на передаваемый объем. В этих случаях серверу нужен параметр Content-Length, и он ожидает увидеть его в запросе.
Ошибка 412
Расшифровывается как "предварительное условие не выполнено". Причину ошибки нужно искать в заголовках запроса. Иногда там прописываются различные условия, и сервер обязан проверить их соблюдение перед обработкой запроса. Если при проверке сервер выявляет, что условия не могут быть выполнены, не соблюдаются, он отклоняет запрос и высылает ответ с кодом 412.
Самая простая причина – проблема в браузере пользователя. Достаточно почистить кеш и куки, чтобы ошибка исчезла.
Также проблема может возникнуть после установки на сайте новых тем, плагинов или некорректного изменения кода.
Ошибка 413
Означает "слишком большое тело запроса". Объем запроса больше, чем веб-сервер может обработать. Чаще всего возникает при загрузке слишком большого файла. Ограничения по объему файлов могут быть выставлены по умолчанию (например, в Nginx это 1 МБ) или веб-мастером. Чтобы увеличить допустимый объем, измените настройки веб-сервера, директивы .htaccess или скрипты php, которые отвечают за загрузку.
Если ограничения выставлены корректно, то пользователю нужно порекомендовать:
- загрузить файл меньшего размера (сжать изображение или видео);
- архивировать загружаемый файл (при архивации будет применено сжатие и размер файла уменьшится);
- не загружать несколько файлов одновременно.
Ошибка 414
Перевод пояснения – "URL слишком длинный". Сервер не может взять в обработку слишком длинный веб-адрес, и поэтому отклоняет запрос.
Ошибка может возникнуть, например, при некорректно настроенном коде CMS, когда при каждом переходе со страницы на страницу в административной панели сайта к URL дописывается фрагмент с параметрами. Таким образом ссылка становится все длиннее и длиннее, пока не превышает лимит.
Часто наличие таких ошибок и переходов по длинным URL свидетельствуют о попытках взломать сайт.
Ошибки на стороне сервера 5xx
Следующая категория ошибок – на стороне сервера (с 500 по 560). Ответ с таким кодом говорит, что запрос корректный, и отвечает всем требованиям сервера, но сам сервер по своим причинам не может его обработать. Разберем коротко каждую из ошибок.
Ошибка 500
Перевод пояснения – "внутренняя ошибка сервера". Ответ с кодом 500 выдается в том случае, когда ошибку нельзя отнести ни к каким другим типам – сервер не может определить, в чем проблема. Часто причина в неверных настройках .htaccess.
Ошибка 501
Означает "не реализовано". Сервер не понимает метод запроса, или не имеет функциональности для его обработки. Не стоит путать с 405 ошибкой – в ее случае метод просто используется неправильно (не к тем данным или неправильным способом), однако сервер его знает.
Ошибка 502
Означает "ошибка шлюза". Если запрос проходит через несколько серверов (через прокси), и какой-то из них не может обработать запрос, то первый сервер отдает такую ошибку. Возможные причины:
- блокировка запроса файерволом сервера;
- нет связи между какими-то участками в пути следования запроса;
- имеет место неправильная настройка сервера- "виновника" или конфликт настроек между серверами;
- сервер неисправен и т. п.
Ошибка 503
Пояснение переводится как как "сервис недоступен". Возможные причины:
- к серверу одновременно поступило большое количество обращений пользователей, и у него не хватает мощности их все обработать;
- на сервере стоит ограничение на максимальное одновременное подключение пользователей, и оно превышено;
- на сервере проводятся технические работы.
Ошибка 503 может быть связана с DDoS-атакой или просто перегрузкой сервера из-за несоответствия нагрузки на сайт и выделенных под него на хостинге мощностей. В последнем случае, возможно, стоит перейти на тарифный план уровнем выше.
Ошибка 504
Означает, что "время прохождения через шлюз истекло". Возникает, если запрос проходит через один или несколько шлюзов-серверов, и один из них не укладывается в отведенный таймаут. Причинами могут быть слишком короткий таймаут в настройках, перегрузка сервера запросами, медленное или нестабильное интернет-соединение между серверами и т. п.
Ошибка 505
Означает "версия http не поддерживается". Здесь причина понятна из названия ошибки. Такой ответ можно получить, если на сервере или клиенте работает устаревшее программное обеспечение, а также из-за некорректных настроек обработки запросов на стороне сервера.
Ошибка 506
Можно расшифровать как "сервер подвергается цензуре". Сервер, к которому отправлен запрос, запрещен для доступа из-за цензурных ограничений.
Коды ошибок HTTP: расшифровка и устранение
При обращении к веб-серверу или приложению каждый поступивший HTTP-запрос получает в качестве ответа код состояния HTTP (англ. HTTP status code). Коды состояния HTTP – это трехзначные коды, сгруппированные в пять различных классов. Класс кода состояния можно определить по первой цифре:
- 1хх – информационные коды;
- 2хх – успех;
- 3хх – перенаправление;
- 4хх – ошибка клиента;
- 5хх – ошибка сервера.
Это руководство фокусируется на выявлении и устранении наиболее часто встречающихся кодов ошибок HTTP (то есть кодов состояния 4xx и 5xx) с точки зрения системного администратора. В некоторых ситуациях веб-сервер отвечает на запрос определенным кодом ошибки; рассмотрим общие возможные причины и решения.
Краткий обзор ошибок клиента и сервера
Ошибки клиента (коды состояния HTTP 400-499) возникают из-за HTTP-запросов, отправленных клиентом (веб-браузером или другим клиентом HTTP). Хотя данные типы ошибок связаны непосредственно с клиентом, системному администратору полезно знать, с какими кодами ошибок может столкнуться пользователь, чтобы определить, можно ли решить эту проблему в конфигурациях сервера.
Ошибки сервера (коды состояния HTTP 500-599) возникают тогда, когда веб-сервер не в состоянии обработать запрос из-за какой-либо ошибки или сбоя.
Общие советы по устранению ошибок HTTP
- При использовании веб-браузера для тестирования веб-сервера не забудьте обновить браузер после внесения изменений в настройки сервера.
- Проверяйте логи сервера, чтобы получить подробные сведения о том, как сервер обрабатывает запросы. Например, веб-серверы Apache и Nginx создают два файла по имени access.log и error.log, в которых можно найти соответствующую информацию.
- Запомните: определения кодов состояния HTTP являются частью стандарта, который реализуется обслуживающим запросы приложением. Это означает, что фактический код состояния, который возвращается в результате, зависит от того, как программное обеспечение сервера обрабатывает конкретную ошибку.
Ознакомившись с основными понятиями кодов состояния HTTP, приступим к обзору наиболее часто встречающихся ошибок.
Ошибка 400 Bad Request
Код статуса 400, или ошибка Bad Request («неверный запрос») означает, что синтаксис запроса HTTP, отправленного на сервер, неверен.
Как правило, причины возникновения ошибки 400 Bad Request таковы:
- Куки пользователя, связанные с сайтом, повреждены. Чтобы решить эту проблему,, попробуйте очистить кэш браузера и файлы cookie.
- Искаженный запрос из-за неисправного браузера.
- Искаженный запрос из-за ошибки пользователя при формировании HTTP-запроса вручную (например, неправильное использование curl).
Ошибка 401 Unauthorized
Код статуса 401, или ошибка Unauthorized («неавторизован») значит, что пользователь, пытающийся получить доступ к ресурсу, не прошел авторизацию (или не смог пройти ее, указав неверные учетные данные). Чтобы иметь возможность просматривать защищенный ресурс, пользователь должен предоставить корректные учетные данные.
Например, ошибка 401 Unauthorized может возникнуть, если пользователь пытается получить доступ к ресурсу, который защищен HTTP-авторизацией (как в этом руководстве по Nginx). В подобной ситуации ошибка 401 будет появляться снова и снова до тех пор, пока пользователь не предоставит корректный логин и пароль (который внесен в файл .htpasswd).
Ошибка 403 Forbidden
Код состояния 403, или ошибка Forbidden («запрещено») значит, что запрос пользователя был отправлен верно, но сервер отказывается обслуживать его в связи с отсутствием разрешения на доступ к запрашиваемому ресурсу. В этом разделе описаны наиболее распространенные причины возникновения ошибки 403.
Права на файл
Как правило, ошибка 403 случается, если пользователь, который запускает процесс веб-сервера, не имеет прав на чтение запрашиваемого файла.
Чтобы привести пример устранения ошибки 403, предположим, что:
- пользователь пытается получить доступ к индексному файлу (http://example.com/index.html);
- рабочий процесс веб-сервера принадлежит пользователю www-data;
- индексный файл на сервере находится в /usr/share/nginx/html/index.html.
Итак, если пользователь получает ошибку 403 Forbidden, убедитесь, что пользователь www-data имеет права на чтение файла. Как правило, в подобной ситуации нужно просто изменить права на файл. Это можно сделать несколькими способами, но в данном случае подойдет вот эта команда:
sudo chmod o=r /usr/share/nginx/html/index.html
Файл .htaccess
Еще одна потенциальная причина возникновения ошибки 403 (часто это делается намеренно) – использование файла .htaccess. При помощи файла .htaccess можно запретить конкретным IP-адресам (или диапазонам адресов) доступ к определенным ресурсам.
Если пользователи неожиданно получают ошибку 403 Forbidden, убедитесь, что она не была вызвана настройками файла .htaccess.
Несуществующий индексный файл
Если пользователь пытается получить доступ к каталогу, который не имеет стандартного индексного файла, а листинг каталога (directory listing) отключен, веб-сервер будет возвращать ошибку 403 Forbidden. Такое случится, если, например, пользователь попытается получить доступ к каталогу http://example.com/emptydir/, а в каталоге emptydir на сервере нет индексного файла. Листинг каталога можно включить в конфигурациях сервера.
Ошибка 404 Not Found
Код статуса 404, или ошибка Not Found («не найдено») значит, что пользователь может взаимодействовать с сервером, но требуемый файл или ресурс отсутствует.
Ошибки 404 могут возникнуть в самых различных ситуациях. Ниже приведен список советов, которые помогут устранить проблему в случае, если пользователь неожиданно получил 404 Not Found:
- Проверьте ссылку, которая направляет пользователя на сервер, на наличие ошибок или опечаток.
- Возможно, пользователь ввел неверный URL.
- Может быть, нужного файла не существует в указанном месте на сервере; убедитесь, что запрашиваемый ресурс не был перемещен или удален с сервера.
- Проверьте, правильно ли указано местонахождение корневого каталога (document root) в конфигурации сервера.
- Возможно, пользователь, которому принадлежит рабочий процесс веб-сервера, не имеет соответствующих прав, чтобы открыть каталог, в котором находится запрашиваемый файл. Для доступа к каталогу нужны права на чтение и выполнение.
- Если пользователь переходит к ресурсу по символической ссылке, убедитесь, что веб-сервер настроен для поддержки символических ссылок.
Ошибка 500 Internal Server Error
Код состояния 500, или ошибка Internal Server Error («внутренняя ошибка сервера») означает, что сервер не может обработать запрос по неизвестной причине. Иногда этот код появляется в ситуациях, когда более подходящими являются другие сообщения об ошибках 5xx.
Как правило, причиной данной ошибки является неправильная настройка сервера (например, искаженный файл .htaccess) или нехватка некоторых пакетов (к примеру, запуск файла PHP без предварительно установленного PHP).
Ошибка 502 Bad Gateway
Код состояния 502, или ошибка Bad Gateway («ошибочный шлюз») значит, что запрашиваемый сервер является шлюзом или прокси-сервером, и он не получает валидных ответов от серверов бэкэнда, которые на самом деле выполнили запрос.
Если речь идет об обратном прокси-сервере (например, о балансировщике нагрузки), убедитесь, что:
- с серверами бэкэнда (на которые пересылаются HTTP-запросы) все в порядке;
- обратный прокси настроен правильно, в его настройках указаны корректные бэкэнды;
- сетевое соединение между серверами бэкэнда и обратным прокси-сервером в порядке. Если серверы могут взаимодействовать на других портах, убедитесь, что эти порты не заблокированы брандмауэром;
- нужные сокеты существуют в корректном местонахождении и имеют соответствующие разрешения (если веб-приложение настроено слушать сокеты).
Ошибка 503 Service Unavailable
Код состояния 503, или ошибка Service Unavailable («сервис недоступен») означает, что сервер перегружен или находится на обслуживании; такой сервис должен стать доступным в течение некоторого времени.
Если сервер не находится на обслуживании, эта ошибка может указывать на то, что серверу не хватает ресурсов процессора или памяти для обработки всех входящих запросов, или что нужно настроить веб-сервер для обслуживания большего количества пользователей или процессов.
Ошибка 504 Gateway Timeout
Код состояния 504, или ошибка Gateway Timeout («шлюз не отвечает») значит, что данный сервер является шлюзом или прокси-сервером, и он не получает ответа от бэкэнда в пределах допустимого периода времени.
Как правило, это происходит по следующим причинам:
- Плохое сетевое соединение между серверами;
- Внутренний сервер, который выполняет запрос, работает слишком медленно;
- В настройках сервера задано слишком короткое время ожидания шлюза или прокси-сервера.
Заключение
Теперь вы знакомы с основными кодами ошибок HTTP и знаете некоторые пути решения этих проблем.
Если же вы столкнулись с ошибкой, которая не была охвачена данной статьей, или знаете другие удобные способы устранения ошибок HTTP, пожалуйста, опишите их в комментариях ниже.