Request failed with status code 405 что это
Ошибка 405: причины и решения
В этом выпуске: признаки ошибки 405; решения проблемы ошибки 405 в PHP; советы по устранению Error 405. Подробно о проблеме и путях решения.
Появление ошибки 405 следует трактовать, как произведение операции сервером с запретом на определенном этапе ее совершения. Причин ее появления немало и нужно уметь определять ошибку на предмет признаков, хотя и в этом случае есть исключения.
Основные признаки: ошибка 405
Идентификация проблемы осуществляется с помощью диалогового окна с соответствующей информацией. После сообщения об ошибке, программа прекращает работу. В браузерах подобное известие может преследовать пользователя сразу на нескольких порталах. Чаще всего о признаках проблемы свидетельствует обозначения HTTP 405 и Method Not Allowed. Впрочем, в некоторых случаях владелец устройства не может сразу определить ошибку. К примеру, причин медленной работы операционной системы или слабого реагирования на действия с помощью клавиатуры и компьютерной мыши довольно много. На этом этапе нет отчетливых отличий 405-й ошибки от других сбоев.
Сюда же относятся периодические «зависания», когда компьютер перестает реагировать на любые действия пользователя и останавливает работу всех программ. В случае с отображением упомянутой ошибки в веб-обозревателях, то браузер может делать ложные выводы касательно определения проблемы. Например, нередко случаются ситуации, когда возникает ошибка 404 на нормально функционирующих ресурсах вместо 405. В свою очередь, делать вывод только по предупреждению от браузера не стоит.
Причины возникновения ошибки 405
Одним из самых распространенных источников проблемы является функционирование php-скрипта. Данный инструмент импортирует данные на сайт, но дело в том, что касательно выполнения скрипта существует временное ограничение в 30 секунд. Упомянутая опция устанавливается на хостинге и подобрать оптимальный для себя параметр невозможно. Исходя из этого, формируется и корень ошибки – скрипту недостаточно временных рамок, утвержденных хостингом. В результате этого пользователь может наблюдать ошибку 405. Если проблема возникает из-за приведенной причины, юзеру следует воспользоваться одним из советов.
Советы по решению ошибки 405 в PHP:
Еще одной распространенной причиной ошибки часто становятся POST-запросы. Сущность проблемы заключается в обработке расширений файлов с помощью инструмента apache. Ряд расширений могут негативно влиять на работу скрипта, поэтому их следует удалить. Внести необходимые изменения нужно в окне Статические файлы. Путь к нему выглядит следующим образом: Хостинг – Мои сайты – Настройка сайта.
Как и во многих других ситуациях, вирусы могут быть причиной возникновения ошибки. Вредоносное программное обеспечение либо повреждает веб-обозреватель, либо полностью захватывает контроль над ним. В дальнейшем браузер может выдавать целый ряд известий о проблемах. Кроме того, удаление или установка системного программного обеспечения может привести к повреждению реестра, который, в свою очередь, инициирует ошибку 405.
Способы устранения: ошибка 405 (Error 405)
Для ликвидации проблемы рекомендуется принятие следующих мер:
Одна или несколько из перечисленных операций точно помогут пользователю избавиться от надоедливых уведомлений и запретов. Исходя из упомянутых рекомендаций, можно сделать вывод, что наиболее эффективная профилактика от появления подобных проблем – это поддержка операционной системы в надлежащем функционировании.
Как исправить ошибку 405 Method Not Allowed на WordPress-сайте
В этой статье мы объясним, что такое ошибка 405 и как она может проявляться. А также расскажем, как исправить эту ошибку, возникающую на WordPress-сайте.
Что означает ошибка 405 Method Not Allowed
Ошибка 405 Method Not Allowed возникает, когда браузер запросил доступ к одной из страниц сайта, но веб-сервер отклонил определенный в запросе HTTP-метод. Получается, что браузер не может получить доступ к запрашиваемой странице. Вместо интересующего пользователей конвента они увидят страницу с ошибкой.
Google Chrome
Ошибка 405 Not Allowed в Chrome
Safari
Ошибка 405 Not Allowed в Safari
Firefox
Ошибка 405 Not Allowed в Firefox
Microsoft Edge
Ошибка 405 Not Allowed в Microsoft Edge
Ошибку 405 не следует путать с кодом ответа 404 Not Found. Он означает, что запрошенный URL-адрес не найден или введен неправильно. Сообщение об ошибке 405 подтверждает, что запрашиваемая страница, но для выполнения запроса использовался неподдерживаемый HTTP-метод.
Это код ответа HTTP указывает, что метод запроса известен серверу, но не поддерживается целевым ресурсом.
Вариации ошибки 405
Вот некоторые варианты отображения ошибки:
Как исправить ошибку 405 Method Not Allowed на WordPress-сайте
Проверьте, правильно ли вы ввели URL-адрес
Самой распространенной причиной возникновения ошибки 405 является неправильный URL-адрес. Большинство веб-серверов блокируют доступ пользователей к несуществующим страницам сайта.
Откат недавно установленных обновлений WordPress
Если вы обновили WordPress незадолго до того, как стало появляться сообщение об ошибке 405 Method Not Allowed, то именно обновление может являться причиной возникновения проблем. Это также относится к любым плагинам и темам оформления, которые вы недавно обновили.
Удалите новые плагины и темы оформления
Плагины и темы оформления могут создавать проблемы. Это связано с тем, что добавление любой функциональности на сайт влияет на его работу. Ошибка 405 быть связана с плагином или темой оформления, которую вы используете. А также если конкретное расширение конфликтует с другой частью CMS.
Удаления определенных плагинов или тем оформления может устранить ошибку 405 Method Not Allowed. Для этого перейдите в раздел «Плагины» панели администрирования WordPress.
Страница плагинов в WordPress
После удаления каждого плагина не забудьте проверять, устранена ли возникшая ошибка. Этот процесс позволит вам точно определить, какой плагин вызывает проблему.
Как деактивировать плагин в WordPress
После проверки плагинов можно приступить к деактивации (удалению) используемой темы.
Проверить любые непреднамеренные изменения в базе данных
Рассмотренный выше способ не гарантирует, что изменения, внесенные расширениями, будут полностью отменены. Это особенно актуально для WordPress-плагинов. Многие из них могут изменять записи в базе данных, которые влияют на работоспособность WordPress.
Если вы уверены, что плагин или тема оформления являются причиной возникновения ошибки 405 Method Not Allowed, проверка используемой базы данных полностью решит проблему. Для этого необходимо открыть базу данных сайта и вручную просмотреть таблицы и записи, измененные расширением.
Проверка конфигурации сервера
Ваш сайт, скорее всего, работает на сервере, который использует Apache или Nginx. На их основе базируется более 80% всех серверов. Проверка файлов конфигурации сервера на наличие неподдерживаемых инструкций поможет решить причину возникновения ошибки 405.
Вот простой пример правила RewriteRule, которое сопоставляет все входящие запросы и отвечает кодом ошибки 405 Method Not Allowed
Пример правила RewriteRule
Просмотрите журналы сервера
Почти каждое веб-приложение хранит журналы на стороне сервера. Они содержат полную историю операций, совершенных приложением.
Журналы сервера немного отличаются. Они часто предоставляют подробную информацию о состоянии всех подключенных служб или даже только самого сервера.
Чтобы просмотреть логи сервера, вам нужно подключиться к вашему сайту через протокол защищенной передачи файлов (SFTP). В корневом каталоге найдите папку logs. В ней находятся журналы доступа и журналы ошибок WordPress:
Теперь просмотрите журналы и проверьте все записи, которые выглядят странно.
Отладка кода приложения или скриптов
Если ни один из предыдущих методов не помог, тогда проблема связана с пользовательским кодом. Для ее решения нужно провести отладку кода.
Для этого нужно скопировать весь сайт на промежуточный сайт. После этого можно будет провести пошаговую процедуру отладки.
Что делать, если ни одно из этих решений не помогло
Если ни один из перечисленных методов не помог, то возникла более сложная проблема. В этом случае стоит обратиться к вашему хостинг-провайдеру.
Заключение
К счастью, в большинстве случаев ошибку 405 Method Not Allowed можно легко исправить с помощью быстрой отладки.
Пожалуйста, оставляйте свои комментарии по текущей теме материала. Мы очень благодарим вас за ваши комментарии, лайки, дизлайки, отклики, подписки!
Пожалуйста, оставляйте ваши отзывы по текущей теме статьи. Мы крайне благодарны вам за ваши комментарии, подписки, лайки, отклики, дизлайки!
Ошибка сервера 405 Method Not Allowed: что за ошибка и как ее исправить
Когда на сайт пытается попасть человек, а вместо искомого контента натыкается на ошибку, то важно выяснить, что это за ошибка и почему она посмела явиться в столь неподходящий (а это любой) момент.
Благо у нас есть замечательные коды 4хх и 5хх, хоть и не так подробно, как хотелось бы, но рассказывающие о том, почему возникла ошибка. Ну а мы, зная эту информацию, можем попытаться ошибку исправить.
В этом материале речь пойдет об ошибке 405 Method Not Allowed. В деталях опишу проблему и расскажу, как ее побороть.
Что означает код ошибки сервера 405?
Код 405 Method Not Allowed говорит нам о том, что сервер получил определенный запрос с заданным HTTP-методом, смог его распознать, но не дает добро на его реализацию. То есть пользователь не получит доступ к контенту, который запросил.
В отличие от 404, 405 уточняет, что запрашиваемая страница существует и функционирует. Только вот стоит изменить используемый в HTTP-запросе метод. Иначе ничего не выйдет.
Из-за чего я вижу эту ошибку?
Есть 9 HTTP-методов, которые используются браузерами для общения с серверами. Из них два задействуются чаще остальных. Это метод GET для запроса информации с ресурса и метод POST для передачи какой-нибудь информации на ресурс. Два метода покрывают почти все существующие сценарии взаимодействия клиента и сервера от запроса статьи до отправки логина и пароля на сайт. Так как они выполняют разные задачи, для сервера нет никакой нужды принимать GET для авторизации на сайте или POST для загрузки данных. Если же клиент так делает и отправляет некорректный запрос (не с тем методом, который должен быть), то сервер ответит ему ошибкой. То же произойдет, если ресурс будет настроен так, что не сможет принимать специфичный набор запросов, не попадающих в «стандарт». Такие дела.
Как исправить 405 Method Not Allowed?
Ок, небольшой ликбез провел, теперь расскажу о том, что можно предпринять, чтобы исправить обнаруженную ошибку и вернуть посетителям доступ к сайту.
Что может сделать пользователь?
Ошибка Method Not Allowed под номером 4хх вроде бы говорит о вине клиента. Но несмотря на это, пользователь мало что может сделать, чтобы устранить проблему. В его компетенции только убедиться в том, что он не допустил ошибку в базовых вещах, и попробовать повторить те же действия в надежде на успех.
Заново открыть ту же страницу
Иногда 405 Method Not Allowed может исчезнуть после перезагрузки страницы. Так что перед тем как принимать сложные решения и жаловаться на владельцев сайта, нажмите F5 или Cmd + R раза два.
Проверить, правильно ли он ввел URL-адрес
Несложная задача, но полезная. Как и в случае с кучей других ошибок, 405 может явиться из-за банальной опечатки или лишнего символа. К тому же многие серверы защищены таким образом, чтобы напрочь блокировать доступ к несуществующим страницам или каким-либо подуровням (в которые человек может пытаться залезть неслучайно).
Так что пользователю стоит заглянуть в адресную строку браузера и убедиться в корректности введенной ссылки. Если что-то нет так, то лучше открыть главную страницу сайта и искать нужную информацию там, а не пытаться попасть на нее, вводя адрес вручную.
Что может сделать владелец сайта?
Как это часто бывает, у сервера гораздо больше способов исправить клиентскую ошибку. Тут реально целый ворох решений: от удаления подозрительных компонентов из CMS до редактирования конфигурационных файлов.
Проверить настройки сервера
Тут будут инструкции для владельцев сайтов на базе Apache и Nginx в Timeweb. Понятно, что есть другие варианты конфигураций, но эти два — чуть ли стандарт, использующийся повсеместно. А информация, касающаяся конкретно Timeweb, заденет только расположение файлов и работу с панелью управления хостинга. Остальные моменты универсальны.
Инструкция для пользователей Apache
Эти директивы помогают в настройке переадресации и некоторых других аспектах поведения сервера. Например, чтобы заставить сервер отправлять клиенту ошибку на каждый запрос GET, можно ввести такой код:
За появление ошибки отвечает запись [R=405,L]. То есть в настройках указано, как себя будет вести сервер при определенном запросе. Надо найти все такие директивы и закомментировать их, поставив # перед записью.
Инструкция для пользователей Nginx
Здесь нужно сделать примерно то же. Разница в том, как выглядит файл с настройками и в его расположении.
В Nginx код выглядит немного сложнее. Например, запрос метода для ссылки https://moysait.com/ru/services/create будет выглядеть так:
Делаем ту же процедуру. Останавливаемся везде, где находим директиву с ошибкой 405. Анализируем ее (вдруг, она тут случайно). И при необходимости комментируем или удаляем.
Исправить проблемы, связанные с PHP-скриптами
Ошибки могут возникнуть при попытке импортировать или экспортировать слишком объемную базу данных. На хостинге может быть установлено ограничение в полминуты, запрещающее использовать один PHP-скрипт дольше этого времени. Поэтому, если процесс затянется, сервер может отозваться ошибкой 405.
Обойти ограничение можно тремя путями:
Еще специалисты рекомендуют удалить статические файлы с разрешением, которые Nginx обрабатывать не должен. Это делается через панель управления хостингом в соответствующем разделе файлового менеджера.
Исправить эксклюзивные для Nginx ошибки
Как мы уже выяснили выше, ошибка может возникнуть при попытке использовать неподходящий метод. Вот как можно исправить это в случае с Nginx-сервером.
Первый вариант — убедить сервер в том, что вместо кода 405 надо отправлять код 200, и это вполне нормально:
Для тех, у кого Nginx-сервер — это proxy, понадобится вот такой код:
Аналогичная ошибка возникает при работе с модулем FastCGI. Из-за него сервер неправильно считывает запросы с методом POST, поэтому необходимо делить параметры и адрес скрипта вот так:
Далее речь пойдет об общих методах диагностики и исправления ошибок. На крайний случай, если конкретные решения не помогли.
Проанализировать все недавние изменения в коде
Если недавно что-то поменяли, а после этого все сломалось, то надо это «поменяли» рассмотреть подробнее. Провести ручной дебаггинг, если можно это так назвать. Наверняка где-то затесалась несерьезная, но обидная ошибка.
Удалить сторонние дополнения для CMS
Если вы используете условный WordPress, то разного рода ошибки могут подкрасться оттуда, где их не ждешь. Например, после установки нового расширения.
Так что при подозрении на наличие сбойного дополнения, лучше попробовать от него избавиться и посмотреть, что будет. Возможно, ошибка исчезнет.
После этого уже можно будет поискать альтернативное расширение или пообщаться с разработчиками по поводу того, почему вообще возникает сбой.
Главное, не забудьте сделать резервную копию CMS перед тем, как что-то удалять и менять. И продолжайте делать бэкапы после, чтобы всегда можно было восстановить рабочую версию сайта.
Откатиться на более старую версию CMS
Бывает так, что сама CMS несет в себе баги и ошибки. Ну или криво установилась. В таком случае можно восстановиться из старой резервной копии и откатиться на одну или несколько версий в прошлое. Когда все работало без ошибок.
Проверить новые записи в базе данных
Расширения могут вносить изменения в базу данных сайта. Иногда не очень полезные. Надо проверить, не появилось ли после установки свежего дополнения каких-либо непрошенных изменений в базе данных. Может, появились подозрительные записи, которых не должно быть. Лучше подвергнуть анализу всю БД от начала до конца (если другие методы исправления ошибки 405 не помогли, конечно).
На этом будем заканчивать. Мы и так уже перешли на самые маловероятные способы исправления этой ошибки. Надеюсь, они не понадобятся, но знать о таких вариантах стоит. Вдруг эти знания когда-нибудь спасут вас и посетителей вашего сайта.
Устранение неполадок в приложениях веб-API2, работающих в Visual Studio, и ошибках на рабочем сервере IIS
В этом документе объясняется, как устранять неполадки в приложениях веб-API2, развернутых на рабочем сервере IIS. В нем рассматриваются распространенные ошибки HTTP 405 и 501.
Программное обеспечение, используемое в этом руководстве
В приложениях веб-API обычно используется несколько глаголов HTTP: GET, POST, размещение, удаление и иногда исправление. С другой стороны, разработчики могут столкнуться с ситуациями, когда эти глаголы реализуются другим модулем IIS на рабочем сервере IIS, что приводит к ситуации, когда контроллер веб-API, который правильно работает в Visual Studio или на сервере разработки, будет Возвращает ошибку HTTP 405 при развертывании на рабочем сервере IIS.
Причины ошибок HTTP 405
Первый шаг к изучению способов устранения ошибок HTTP 405 состоит в том, чтобы понять, что действительно означает ошибка HTTP 405. Основным управляющим документом для HTTP является RFC 2616, который определяет код состояния HTTP 405 как Недопустимый метод, и далее описывает этот код состояния как ситуацию, когда «метод, указанный в строке запроса, не разрешен для ресурса, определяемого запросом URI.» другими словами, команда HTTP не разрешена для конкретного URL-адреса, запрошенного клиентом HTTP.
В качестве краткого анализа ниже приведены некоторые из наиболее используемых методов HTTP, как определено в RFC 2616, RFC 4918 и RFC 5789.
Метод HTTP | Description |
---|---|
GET | Этот метод используется для получения данных из универсального кода ресурса (URI), который, вероятно, является наиболее используемым методом HTTP. |
HEAD | Этот метод во многом аналогичен методу GET, за исключением того, что он фактически не извлекает данные из URI запроса. он просто извлекает состояние HTTP. |
POST | Этот метод обычно используется для отправки новых данных в универсальный код ресурса (URI). POST часто используется для отправки данных формы. |
PUT | Этот метод обычно используется для отправки необработанных данных в универсальный код ресурса (URI). РАЗМЕЩЕНИЕ часто используется для отправки данных JSON или XML в приложения веб-API. |
DELETE | Этот метод используется для удаления данных из URI. |
OPTIONS | Этот метод обычно используется для получения списка методов HTTP, которые поддерживаются для URI. |
ПЕРЕМЕЩЕНИЕ КОПИРОВАНИЯ | Эти два метода используются с WebDAV, и их назначение говорят сами за себя. |
MKCOL | Этот метод используется с WebDAV и используется для создания коллекции (например, каталога) по указанному универсальному коду ресурса (URI). |
PROPPATCH PROPFIND | Эти два метода используются с WebDAV и используются для запроса или задания свойств URI. |
РАЗБЛОКИРОВАТЬ БЛОКИРОВКУ | Эти два метода используются с WebDAV и используются для блокировки или разблокировки ресурса, определяемого URI запроса при создании. |
PATCH | Этот метод используется для изменения существующего HTTP-ресурса. |
Однако если метод HTTP настроен для использования на сервере, но он был отключен для данного универсального кода ресурса (URI), сервер отправит сообщение об ошибке » метод http 405 не разрешен «.
Пример ошибки HTTP 405
Следующий пример HTTP-запроса и ответа иллюстрирует ситуацию, когда клиент HTTP пытается разместить значение в веб-API на веб-сервере, а сервер возвращает ошибку HTTP, указывающую, что метод размещения не разрешен:
Устранение ошибок HTTP 405
Следующий пример является выдержкой из файла ApplicationHost. config для сервера IIS, который ВОЗВРАЩАЛ ошибку HTTP 405 при использовании метода размещения для отправки данных в приложение веб-API. В этом отрывке определено несколько обработчиков HTTP, и каждый обработчик имеет свой набор методов HTTP, для которых он настроен — последняя запись в списке является статическим обработчиком содержимого, который является обработчиком по умолчанию, который используется после того, как другие обработчики имели Чанк д для проверки запроса:
В предыдущем примере обработчик WebDAV и обработчик URL-адресов без расширений для ASP.NET (который используется для веб-API) четко определены для отдельных списков методов HTTP. Обратите внимание, что обработчик DLL ISAPI настроен для всех методов HTTP, хотя такая конфигурация не обязательно приведет к ошибке. Однако такие параметры конфигурации следует учитывать при устранении ошибок HTTP 405.
В предыдущем примере обработчик DLL ISAPI не является проблемой. на самом деле, проблема не была определена в файле ApplicationHost. config для сервера IIS — проблема была вызвана записью, которая была создана в файле Web. config при создании приложения веб-API в Visual Studio. Следующий фрагмент из файла Web. config приложения показывает расположение проблемы:
В этом отрывке обработчик URL-адресов без расширений для ASP.NET переопределен для включения дополнительных методов HTTP, которые будут использоваться с приложением веб-API. Однако, поскольку для обработчика WebDAV определен аналогичный набор методов HTTP, возникает конфликт. В этом конкретном случае обработчик WebDAV определяется и загружается службами IIS, даже если для веб-сайта, включающего приложение веб-API, отключен протокол WebDAV. Во время обработки запроса HTTP-размещения IIS вызывает модуль WebDAV, так как он определен для команды размещения. При вызове модуля WebDAV проверяет его конфигурацию и видит, что он отключен, поэтому он возвращает ошибку «метод HTTP 405 не разрешен » для любого запроса, напоминающего запрос WebDAV. Чтобы устранить эту проблему, следует удалить WebDAV из списка модулей HTTP для веб-сайта, на котором определено приложение веб-API. В следующем примере показано, как это может выглядеть:
Этот сценарий часто встречается после публикации приложения из среды разработки в рабочей среде IIS. это происходит потому, что список обработчиков и модулей различается в средах разработки и рабочей среде. Например, если вы используете Visual Studio 2012 или более поздней версии для разработки приложения веб-API, IIS Express является веб-сервером по умолчанию для тестирования. Этот веб-сервер разработки — это уменьшенная версия полной функциональности IIS, которая поставляется в серверном продукте, и этот веб-сервер разработки содержит несколько изменений, которые были добавлены в сценарии разработки. Например, модуль WebDAV часто устанавливается на рабочем веб-сервере, на котором работает полная версия IIS, хотя он может не использоваться. Версия для разработки IIS (IIS Express) устанавливает модуль WebDAV, но записи для модуля WebDAV намеренно заносятся в комментарий, поэтому модуль WebDAV никогда не загружается на IIS Express, если только вы специально не измените конфигурацию IIS Express параметры для добавления функции WebDAV к установке IIS Express. В результате веб-приложение может правильно работать на компьютере разработчика, но при публикации приложения веб-API на рабочем веб-сервере IIS могут возникать ошибки HTTP 405.
Ошибки HTTP 501
Чтобы устранить эту проблему, необходимо переустановить любое приложение, которое пытается использовать метод HTTP, для которого у него нет соответствующих определений модуля или обработчика.
Сводка
Ошибки HTTP 405 возникают, если метод HTTP не разрешен веб-сервером для запрошенного URL-адреса. Это условие часто возникает, когда определенный обработчик определен для определенной команды, и этот обработчик переопределяет обработчик, который ожидает обработки запроса.