
Błąd 405 – Method Not Allowed: Co to jest i jak go naprawić?
Błąd 405 – Method Not Allowed to kod odpowiedzi HTTP, który informuje, że metoda żądania użyta przez klienta (np. GET, POST) nie jest dozwolona dla danego zasobu. Może to wynikać z błędnej konfiguracji serwera, ograniczeń w API lub nieprawidłowej składni zapytania.
CEO
10 lut 2025
Błąd 405 – Method Not Allowed, jest to często spotykany kod odpowiedzi HTTP, który sygnalizuje, iż metoda zapytania wysłana do konkretnego zasobu nie jest przez niego obsługiwana. Najczęściej wynika to z niewłaściwego użycia metody HTTP. Przykładowo, próba wykorzystania metody POST na zasobie, który akceptuje jedynie GET. Taka sytuacja skutkuje otrzymaniem kodu błędu 405. W praktyce, ten błąd informuje nas, że serwer jest zdolny do obsługi zapytania, ale metoda jest zabroniona i nie może być użyta. Rozwiązanie tego problemu zwykle polega na prawidłowym doborze metod HTTP w kontekście zasobu, do którego się odwołujemy.
Powiązane case studies


Marketplace premium kosmetyków na 9 rynkach europejskich - Shopify Plus
Klient: Baza Cosmetics

Platforma edukacyjna generująca materiały do nauki programowania z ChatGPT
Klient: Klient (Aplikacja webowa do nauki programowania)
Branża: Edukacja / EdTech
Przyczyny występowania błędu 405 Method Not Allowed
Błąd 405 Method Not Allowed jest związany z protokołem HTTP i odnosi się do sytuacji, kiedy serwer rozumie żądanie klienta, ale nie jest w stanie go przetworzyć z powodu niekompatybilnej metody. Najczęściej występuje, gdy klient próbuje użyć metody (np. POST, GET, DELETE), która nie jest obsługiwana na określonym zasobie. Przyczyny mogą być różne, począwszy od błędów w konfiguracji serwera, po niewłaściwe zapytania kierowane przez klienta. Kluczem do rozwiązania problemu z błędem 405 jest zidentyfikowanie, która metoda jest niedozwolona oraz skonfigurowanie serwera, aby prawidłowo obsługiwał takie żądania.
Zasada działania protokołu HTTP a błąd 405
Zrozumienie protokołu HTTP jest kluczowe dla rozeznania w naturze błędu 405. Protokół HTTP, będący podstawą wszystkiego, co dzieje się w sieci, definiuje zestaw metod żądań, które decydują o tym, jakie akcje mają zostać podjęte. Błąd 405, występuje, gdy serwer internetowy został skonfigurowany w taki sposób, że nie zezwala na użycie konkretnej metody żądania HTTP dla żądanego zasobu. Przykładowo, jeśli serwer nie jest skonfigurowany do obsługi żądań POST dla określonego endpointa, żądanie POST do tego punktu zwróci błąd 405. Należy więc dokładnie przeanalizować i dostosować konfigurację serwera, aby naprawić ten typ błędu.

Jak sprawdzić i zdiagnozować błąd 405?
Aby skutecznie rozwiązać problem błędu 405 Method Not Allowed, najpierw należy go poprawnie zdiagnozować. Oto kilka kluczowych kroków, które warto wykonać:
- Sprawdzenie kodu odpowiedzi HTTP – Otwórz narzędzia deweloperskie w przeglądarce (np. w Chrome: F12 → zakładka Network) i spróbuj ponownie wykonać żądanie. Znajdziesz tam kod błędu oraz szczegóły dotyczące żądania i odpowiedzi serwera.
- Analiza metody HTTP – Sprawdź, jakiej metody używa Twoja aplikacja (np. GET, POST, PUT, DELETE) i porównaj to z dozwolonymi metodami dla danego zasobu. Możliwe, że serwer nie obsługuje danej metody w danej lokalizacji.
- Przeglądanie logów serwera – Jeśli masz dostęp do serwera, sprawdź jego logi błędów i dostępu. W Apache znajdziesz je np. w /var/log/apache2/error.log, a w Nginx w /var/log/nginx/error.log. Logi mogą zawierać szczegółowe informacje na temat przyczyny błędu.
- Sprawdzenie konfiguracji serwera – W plikach konfiguracyjnych serwera (.htaccess, nginx.conf, httpd.conf) mogą znajdować się reguły ograniczające dostęp do niektórych metod HTTP. Upewnij się, że konfiguracja pozwala na metodę, której używasz.
- Testowanie na innym kliencie HTTP – Jeśli masz wątpliwości, czy problem leży po stronie przeglądarki, spróbuj wysłać żądanie za pomocą narzędzi takich jak cURL lub Postman. Może to pomóc w identyfikacji problemu.
Naprawa błędu 405 w różnych środowiskach
Rozwiązanie błędu 405 zależy od konfiguracji serwera i aplikacji. W Apache warto sprawdzić plik .htaccess oraz moduły obsługujące metody HTTP. W Nginx należy przeanalizować konfigurację serwera i ewentualne ograniczenia metod w regułach location. Jeśli problem dotyczy WordPressa, może być związany z wtyczkami bezpieczeństwa lub ustawieniami permalinków. W aplikacjach backendowych, takich jak PHP, Node.js czy Python, należy upewnić się, że żądana metoda HTTP jest poprawnie obsługiwana w kodzie. W przypadku API REST kluczowe jest sprawdzenie obsługi metod w nagłówkach CORS i konfiguracji routingu. Jeśli problem nadal występuje, warto przejrzeć logi serwera i skonsultować się z dostawcą hostingu.
FAQ
FAQ – błąd HTTP 405 Method Not Allowed
Błąd HTTP 405 Method Not Allowed oznacza, że serwer rozumie użytą metodę HTTP (GET, POST, PUT, DELETE, PATCH), ale nie dopuszcza jej dla danego zasobu. Klasyczny scenariusz: endpoint /api/users przyjmuje POST (tworzenie) i GET (lista), ale nie DELETE — wysłanie DELETE kończy się właśnie 405. Różnica względem 404: tam zasób nie istnieje, tu istnieje, tylko metoda jest niedozwolona. To częsty błąd przy integracji z REST API — i zwykle jeden z najłatwiejszych do naprawienia, bo serwer w nagłówku Allow sam podpowiada, czego oczekuje.
Ściąga z metod HTTP:
- GET — pobranie zasobu: lista produktów, szczegóły zamówienia,
- POST — utworzenie zasobu: nowy użytkownik, nowe zamówienie,
- PUT — zastąpienie całego zasobu,
- PATCH — częściowa aktualizacja wybranych pól,
- DELETE — usunięcie zasobu,
- OPTIONS — lista dozwolonych metod; używane przez preflight CORS,
- HEAD — jak GET, ale same nagłówki bez ciała.
Dobre REST API używa metod zgodnie z ich semantyką — GET nigdy nie zmienia stanu, a operacje zapisu nie jeżdżą na GET „bo tak było szybciej".
Typowe przyczyny:
- zła metoda po stronie klienta — GET zamiast POST przy wysyłce formularza,
- endpoint obsługuje tylko część metod — świadomy projekt API,
- konfiguracja serwera — Apache lub nginx ograniczające dozwolone metody,
- WAF blokujący PUT/DELETE — częste ustawienie domyślne,
- brak trasy w kodzie — router frameworka nie ma zdefiniowanego handlera dla danej metody,
- proxy gubiące metody — reverse proxy przekazujące tylko podstawowe czasowniki,
- CORS — preflight wymaga OPTIONS, którego endpoint nie obsługuje.
Ścieżka naprawy:
- dokumentacja API — jakie metody są dozwolone dla endpointu,
- nagłówek Allow w odpowiedzi 405 — serwer sam wymienia dozwolone metody,
- konfiguracja frameworka — czy trasa ma właściwą metodę (app.get kontra app.post w Expressie),
- serwer WWW — dyrektywy LimitExcept (Apache) i limit_except (nginx),
- logi WAF — mod_security potrafi blokować PUT i DELETE po cichu,
- CORS — handler OPTIONS dla preflight,
- test lokalny — jeśli lokalnie działa, problem leży w infrastrukturze między klientem a aplikacją.
Kanon projektowania REST API:
- semantyka metod — GET do odczytu, POST do tworzenia, PUT/PATCH do aktualizacji, DELETE do usuwania,
- nagłówek Allow w odpowiedziach 405 — klient od razu wie, co wolno,
- handler OPTIONS dla każdego endpointu — CORS przestaje zaskakiwać,
- wersjonowanie API — zmiana dozwolonych metod to zmiana łamiąca,
- możliwości frameworków — routery Expressa czy Django REST Framework generują poprawne odpowiedzi metodowe same,
- dokumentacja OpenAPI/Swagger — formalna specyfikacja eliminuje zgadywanie po stronie klientów,
- testy automatyczne wszystkich metod per endpoint — w tym tych, które mają zwracać 405.
Blog
Powiązane artykuły
Jak działa Drupal Commerce? Podstawy i kluczowe funkcje
Drupal Commerce to potężne narzędzie e-commerce, które łączy elastyczność systemu Drupal z zaawansowanymi możliwościami sprzedaży online. Dzięki swojej modularnej budowie umożliwia tworzenie zarówno prostych sklepów internetowych, jak i rozbudowanych platform sprzedażowych dostosowanych do indywidualnych potrzeb biznesu. Oferuje pełną kontrolę nad procesem zakupowym, zarządzaniem produktami i treściami, a także łatwą integrację z systemami płatności i dostaw.
First Contentful Paint (FCP) - Jak mierzyć i poprawiać wydajność strony
First Contentful Paint (FCP) to jedno z podstawowych narzędzi najnowocześniejszych metryk webowych, które umożliwiają analizę szybkości ładowania stron. Poradnik ten kierujemy zarówno do programistów, jak i managerów projektów, zainteresowanych optymalizacją wydajności witryny. Przyjrzymy się dokładnie, jak mierzyć FCP i jak poprawić te wartości w celu zwiększenia szybkości ładowania strony.
Jak Crashlytics pomaga utrzymać jakość aplikacji?
Utrzymanie wysokiej jakości aplikacji mobilnej to nie lada wyzwanie - nawet najlepiej zaprojektowany produkt może zawieść, jeśli pojawią się błędy, które frustrują użytkowników. Każdy crash to nie tylko problem techniczny, ale też ryzyko utraty zaufania i obniżenia ocen w sklepach z aplikacjami. Dlatego tak ważne jest, by zespół deweloperski mógł szybko wykrywać i analizować awarie w czasie rzeczywistym. Właśnie w tym pomaga Firebase Crashlytics - potężne narzędzie od Google, które pozwala…
Detox w praktyce: Jak skutecznie przeprowadzić testy E2E w środowisku React Native
Testy E2E w środowisku React Native to niezawodne narzędzie do identyfikacji błędów w aplikacjach. Przeprowadzenie ich 'detoxem' niesie za sobą wiele korzyści, jednak wymaga również precyzyjnego podejścia. To jest klucz do wysokiej jakości produktu z perspektywy użytkownika. Poznajmy zasady skutecznego wykorzystania Detox do E2E testowania w React Native.
Voiceboty w biznesie: jak automatyzacja rozmów zmienia obsługę klienta
Ewolucja obsługi klienta w dzisiejszych czasach, przeradza się w coraz bardziej zaawansowane procesy. Kluczową rolę odgrywają w tym Voiceboty, które wprowadzają innowacyjny wymiar do automatyzacji biznesowej. Pozwalają one na usprawnienie komunikacji i oszczędzenie cennego czasu, stając się nieodłącznym elementem nowoczesnych firm.
Testowanie zaplecza krok po kroku – jak upewnić się, że backend działa bez zarzutu?
Stabilny i bezpieczny backend to fundament każdej nowoczesnej aplikacji – bez niego nawet najbardziej efektowny interfejs traci sens. Użytkownicy oczekują, że systemy będą działać szybko, niezawodnie i bezbłędnie, a jedynym sposobem, by to zagwarantować, jest rzetelne testowanie zaplecza.






