Whitelabel error page 405



Ошибка сервера 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

Наша задача состоит в том, чтобы в файле .htaccess найти записи, которые могут провоцировать появление ошибки 405. А потом их закомментировать или удалить. Чтобы это сделать:

  • Открываем панель управления Timeweb.
  • Ищем внутри вкладку «Файловая система» и переходим на нее.
  • Открываем файл .htaccess.
  • Внутри .htaccess ищем директивы Rewrite… (обычно это RewriteEngine, RewriteCond и RewriteRule).

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

За появление ошибки отвечает запись [R=405,L]. То есть в настройках указано, как себя будет вести сервер при определенном запросе. Надо найти все такие директивы и закомментировать их, поставив # перед записью.

Инструкция для пользователей Nginx

Здесь нужно сделать примерно то же. Разница в том, как выглядит файл с настройками и в его расположении.

  • Ищем файл nginx.conf по пути /usr/local/nginx/conf или /usr/local/etc/nginx .
  • Открываем его любым текстовым редактором.
  • Находим код, включающий в себя упоминание ошибки 405.
Читайте также:  Fastboot flash all failed exit code 1 output flash super error

В Nginx код выглядит немного сложнее. Например, запрос метода для ссылки https://moysait.com/ru/services/create будет выглядеть так:

Делаем ту же процедуру. Останавливаемся везде, где находим директиву с ошибкой 405. Анализируем ее (вдруг, она тут случайно). И при необходимости комментируем или удаляем.

Исправить проблемы, связанные с PHP-скриптами

Ошибки могут возникнуть при попытке импортировать или экспортировать слишком объемную базу данных. На хостинге может быть установлено ограничение в полминуты, запрещающее использовать один PHP-скрипт дольше этого времени. Поэтому, если процесс затянется, сервер может отозваться ошибкой 405.

Обойти ограничение можно тремя путями:

  • Попробовать экспортировать БД через phpMyAdmin.
  • Разбить файл БД на несколько мелких частей, передача каждого из которых займет меньше 30 секунд.
  • Использовать для передачи БД Cron-задачу. На них сервер выделяет больше времени.

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

Исправить эксклюзивные для Nginx ошибки

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

Первый вариант — убедить сервер в том, что вместо кода 405 надо отправлять код 200, и это вполне нормально:

Для тех, у кого Nginx-сервер — это proxy, понадобится вот такой код:

Аналогичная ошибка возникает при работе с модулем FastCGI. Из-за него сервер неправильно считывает запросы с методом POST, поэтому необходимо делить параметры и адрес скрипта вот так:

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

Проанализировать все недавние изменения в коде

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

Удалить сторонние дополнения для CMS

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

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

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

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

Откатиться на более старую версию CMS

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

Проверить новые записи в базе данных

Расширения могут вносить изменения в базу данных сайта. Иногда не очень полезные. Надо проверить, не появилось ли после установки свежего дополнения каких-либо непрошенных изменений в базе данных. Может, появились подозрительные записи, которых не должно быть. Лучше подвергнуть анализу всю БД от начала до конца (если другие методы исправления ошибки 405 не помогли, конечно).

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

Источник

Request method ‘GET’ not supported – Http Status 405

The spring boot exception Request method ‘GET’ not supported exists when the request method is not configured as ‘GET’ in one of the rest controller methods and is requested using the HTTP GET method. The request method is configured in annotation @RequestMapping. In spring boot, all HTTP request methods are available in the RequestMethod enum. If a rest controller method is not configured as GET, the exception Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘GET’ not supported] will be thrown.

In spring boot, if the requested url is not configured as ‘GET’ call in rest controller, PageNotFound : Request method ‘GET’ not supported exception will be thrown from the application. It also throws org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘GET’ not supported in spring boot as the method is not available in spring boot application.

Exception

HTTP Request Methods Supported in Spring Boot

The following http request methods are supported in spring boot application. The requested HTTP methods are available in the RequestMethod Enum class. Request methods are used in the @RequestMapping annotation.

How to reproduce this issue

In the spring boot rest controller class, remove one of the url in a method. If you access the url from the browser or postman, This warning will be shown in the log.

Читайте также:  Error 3004 there was an error

Output

Root Cause

If the http request type of curl or postman or browser is ‘GET’ and the corresponding method in the rest controller is not listening in HTTP GET method, The request call could not find the rest controller method. The exception will be thrown for non availability of the url with the right HTTP method in rest controller class.

Scenario 1

In the spring boot application, the request url called from curl command or postman or browser may be wrong or mis-spelled. In this case, the requested url is not available in the rest controller. There fore the exception will be thrown. Verify the request url with the corresponding rest controller method and correct any spelling issues.

Solution

Scenario 2

The request method in the rest controller can be improperly configured. The request method is configured in the @RequestMapping annotation. The default request method in the @RequestMapping annotation is ‘GET.’ The request method may be configured in a way other than the ‘GET’ method.

Output

In the above example, the method is configured with POST and request url has GET method. Hence, the exception HttpRequestMethodNotSupportedException: Request method ‘GET’ not supported will be thrown.

Scenario 3

The rest controller method is configured with the wrong url in the @RequestMapping annotation. If the url is incorrect, the requested url would not be available in the rest controller class. The exception would then be thrown.

Источник

Что такое Ошибка HTTP 405 и как ее исправить

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

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

Но помимо того, что потребители быстро уходят, вы также можете испытать разрушительные последствия для ваших коэффициентов конверсии. Не говоря уже о том, что поисковые системы также обращают внимание на показатели отказов. Ошибка, которая может появиться на вашем сайте и вызвать разочарование у потребителей — это Ошибка HTTP 405.

К сожалению, эта ошибка похожа на что-то мистическое. Она говорит вам, что что-то пошло не так, но не дает более подробного объяснения.

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

В этой статье мы поговорим о том, что такое Ошибка HTTP 405, почему она может появиться на вашем сайте, а также о том, как ее исправить. Давайте начнем!

Что означает HTTP 405?

HTTP 405 – это код состояния ответа HTTP. Существует пять видов кодов состояния HTTP-ответа. Все они сообщают пользователю, был ли успешно выполнен определенный HTTP-запрос. Пять основных кодов состояния включают в себя:

1xx коды состояния: Информационные запросы 2xx коды состояния: Успешные запросы 3xx коды состояния: Перенаправление 4xx коды состояния: Ошибки клиента 5xx коды состояния: Ошибки сервера

Сообщение об Ошибке 405 Method Not Allowed – это ошибка клиента, которая указывает на то, что проблема заключается в чем-то на стороне клиента.

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

Варианты имен Ошибок HTTP 405

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

Наиболее распространенные способы появления Ошибки HTTP 405 для потребителей включают в себя:

  • HTTP Ошибка 405 – Метод Не Дозволен
  • HTTP Метод Не Дозволен
  • 405 Не Дозволено
  • Метод Не Дозволен
  • HTTP Ошибка 405

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

Как исправить Ошибку 405?

Проверьте URL-адрес

Первое, что вам нужно сделать, когда вы видите Ошибку 405 на своем сайте – это проверить, правильно ли вы ввели URL-адрес.

Читайте также:  Error cs1024 wrong preprocessor directive

Внимательно посмотрите на URL-адрес и убедитесь, что он содержит все правильные буквы.URL-адрес содержит какие-либо специальные символы, убедитесь, что они вставлены правильно.

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

Откат последних обновлений

Большая часть веб-сайтов размещается на таких CMS, как WordPress или Wix. Вы можете обнаружить, что недавнее обновление системы может быть основной причиной проблемы.

Попробуйте подумать, когда вы впервые заметили Ошибку 405 на своем сайте. Это было сразу после того, как вы обновили CMS? Если это так, то подумайте о том, чтобы вернуться к предыдущей версии.

Удаление новых расширений, модулей или плагинов

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

Некоторые расширения могут полностью контролировать вашу систему и вносить изменения в любой код, включая PHP, CSS, HTML, JavaScript и вашу базу данных. В этом случае рекомендуется удалить все новые расширения, которые вы недавно добавили в свою систему.

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

Дважды проверьте изменения в своей базе данных

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

Есть некоторые расширения, особенно на CMS WordPress, которые имеют карт-бланш внутри приложения, который включает в себя полный доступ к базе данных. Расширение может изменять записи базы данных, которые не принадлежат самому расширению, а создаются и управляются другими расширениями. Когда это происходит, расширение может не знать, как вернуть изменения в записи базы данных, что приводит к тому, что расширение игнорирует такие вещи во время удаления.

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

Проверьте файлы конфигурации для вашего веб-сервера

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

Ваше приложение работает либо на веб-серверах Apache, либо на веб-серверах nginx.

Если вы используете Apache, вам необходимо проверить как файл конфигурации сервера apache, так и файл конфигурации сервера apache файл .htaccess. После того, как вы найдете файл .htaccess, откройте его в текстовом редакторе и найдите строки, использующие указания RewriteXXX. В случае, если вы столкнетесь с какими-либо странными указаниями RewriteCond или RewriteRule, попробуйте временно сделать замечание, используя префикс символа #. Перезагрузите веб-сервер и посмотрите, устранена ли проблема.

Если вы используете nginx, вам нужно проверить nginx.conf файл. Файл находится в одном из нескольких общих каталогов: /usr/local/nginx/conf, /etc/nginx или /usr/local/etc/nginx. Как только вы найдете файл, откройте его в текстовом редакторе и выполните поиск указании, использующих флаг кода ответа 405. Сделайте замечания на любые аномалии, а затем перезагрузите сервер, чтобы увидеть, была ли проблема решена.

Проверьте журналы приложений

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

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

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

Отладка кода приложения или скриптов

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

Вы можете поставить диагноз, вручную отладив приложение и проанализировав журналы приложений и серверов.

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

Заключение

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

Понравилось то, что вы прочитали?

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

Просто введите ваш адрес электронной почты, чтобы подписаться.

(Без спамов; ежемесячно два письма; отписаться от рассылки можно в любое время)

Источник

Оцените статью
toolgir.ru
Adblock
detector