HTTP 405 Method Not Allowed: What It Means and How to Fix It
DIRECT ANSWER
HTTP 405 Method Not Allowed means the server understood the HTTP method, such as GET, POST, PUT or DELETE, but that method is not supported for the requested resource. The URL or host may still be reachable; the problem is usually specific to the request method, route, application, server, proxy or CDN rule. Confirm the exact method and URL, inspect the response headers—especially any `Allow` header—and use logs to identify the component that returned the response.
Key takeaways
- HTTP 405 concerns the method used for a specific resource, not necessarily the availability of the whole website.
- Confirm the exact URL, HTTP method, status and response headers before changing configuration.
- An
Allowresponse header may identify methods the resource accepts, although its absence does not by itself identify the cause. - The response can come from the application, web server, reverse proxy, CDN or WAF rather than the origin application.
- Use matching logs and a minimal reproduction to distinguish an intentional rule from a routing or deployment mistake.
- Make the narrowest authorized change and retest the same request without weakening unrelated security controls.
Site Administrator
Last reviewed: September 25, 2026
What this error means & how to recognize it
- A browser, API client, monitoring tool or checker receives
405 Method Not Allowed. - One HTTP method fails while another method for the same route may work.
- The issue may affect one URL, route pattern, client or deployment rather than the entire site.
- The response may include an
Allowheader listing permitted methods. - Other headers may reveal redirects, caching, authentication, proxy, CDN or server context.
- Because an HTTP response was received, DNS resolution and TLS negotiation may already have succeeded, but that does not prove the application or route is correctly configured.
Root causes, ordered by likelihood
Common causes
- The method is not supported by the route. The endpoint may accept
GETbut rejectPOST, or acceptPOSTbut reject an update method such asPUTorPATCH. - Routing or web-server rules reject the method. A route, virtual host or server policy may not pass the request to the intended handler.
- A reverse proxy, CDN or WAF returns the response first. An intermediary can apply method restrictions or route the request differently from the origin.
- The request does not match the application contract. The path, trailing slash, content type, host, authentication state or other request details may select a different route or validation rule.
- A recent deployment or configuration change introduced a mismatch. Application routes, proxy rules, allowed methods and caching behavior may no longer agree.
- An intentional policy or endpoint design. Some resources deliberately reject methods that are unsafe, unsupported or outside their documented interface.
The status code alone cannot identify which layer or rule caused the response. Confirm the method, headers, logs and recent changes before modifying the system.
How to fix it
If you are a visitor or API consumer
- Confirm the exact URL and whether the client is sending the intended method. A browser address-bar request normally uses
GET, while an API client may usePOST,PUT,PATCH,DELETEor another method. - Check the response headers for an
Allowheader and for redirect, authentication, caching or proxy information. Do not treat a different method as a valid workaround unless the site or API documentation says it is supported. - If the endpoint requires an account, sign in through the normal process and retry without exposing credentials in a support request.
- Avoid repeated retries when the service is also reporting rate limits, timeouts or overload symptoms.
- If the problem persists, send the site owner the URL, method, timestamp, status code and relevant sanitized headers. Do not share passwords, cookies, authorization tokens or API secrets.
If you own or maintain the site
- Capture a minimal reproduction. Record the exact method, URL, host, request path, status and relevant response headers. Preserve the request body only if it contains no secrets or personal data.
- Check whether the response is intentional. Compare the request with the route or API contract. Determine whether the resource is supposed to support that method and whether an
Allowheader identifies accepted methods. - Identify the responding layer. Use response headers, request IDs and timestamps to determine whether the response came from the application, web server, reverse proxy, CDN or WAF. A proxy-generated response may never reach the origin.
- Inspect matching logs. Search the identified layer and, where available, the upstream layer for the same timestamp, path, method and request ID. Look for route mismatches, method filters, rejected upstream requests and recent policy changes.
- Compare recent changes. Review deployments, route definitions, web-server rules, proxy or CDN behavior, authentication configuration and WAF policies. Compare a failing method with a known-supported method for the same route.
- Apply the narrowest authorized correction. Update only the route or rule that should support the method. Do not broadly disable authentication, WAF protections or method restrictions to make the error disappear.
- Retest safely. Repeat the same request in a non-production environment when possible, then test the affected production route under the approved change process. Confirm that unsupported methods remain rejected and that related routes still return their intended status codes.
- Check caches and intermediaries. If behavior differs between clients or locations, verify whether a proxy or CDN cached the response or is applying a separate rule. Purge or change cached behavior only under the service’s normal operational procedure.
Prevention & how to verify the fix
- Define and document the supported methods for important web routes and API endpoints.
- Test representative methods for critical routes after application, server, proxy, CDN and WAF changes.
- Monitor status-code rates by route and method rather than treating all 4xx responses as one group.
- Keep routing, method restrictions, authentication and proxy configuration version controlled.
- Preserve request IDs and logs across intermediary and origin layers long enough to correlate failures.
- Document intentional 405 responses so support and monitoring teams can distinguish expected behavior from regressions.
- Avoid broad method allowances; permit only the methods required by each resource and application contract.
When to get outside help
Escalate to the site owner, hosting provider or platform team when a 405 appears unexpectedly on an important public route, affects many users, began after a deployment, or differs between clients or locations. Get specialist review before changing authentication, WAF, CDN, reverse-proxy or server rules if you cannot validate the security and routing impact. Provide sanitized methods, paths, timestamps, response headers, request IDs and relevant logs; never include passwords, cookies, authorization tokens or API secrets.
Frequently asked questions
Does HTTP 405 mean the whole website is down?
No. HTTP 405 describes one request to one resource. Other pages, routes or methods may continue to work normally.
What is the difference between HTTP 405 and HTTP 404?
A 404 indicates that the requested resource was not found at the relevant endpoint. A 405 indicates that the server recognized the method but does not allow that method for the identified resource. Routing and intermediary behavior should still be checked when the result is unexpected.
What does the Allow header mean in a 405 response?
When present, Allow lists methods that the resource supports, such as GET or POST. It is useful evidence when diagnosing the request, but the response headers and logs should be considered together because a proxy or other intermediary may have produced the response.
Can DNS and TLS still be working when HTTP 405 appears?
Yes. Receiving an HTTP response generally means the request reached an HTTP-speaking endpoint after the relevant connection steps. DNS and TLS are separate checks, so a 405 does not by itself confirm that the intended application route is healthy.
Should I change the request from POST to GET?
Only if the endpoint documentation or owner says the resource supports GET for that operation. Changing methods blindly can produce the wrong result or expose an unsafe request pattern.
What should a site owner check first?
Start with the exact method, URL, response headers and timestamp. Then determine which component generated the response and inspect its matching logs before changing routing or security configuration.
Further documentation
- MDN Web Docs: 405 Method Not Allowed — overview of the status code and its HTTP semantics.
- RFC 9110: HTTP Semantics — standards reference for HTTP methods, responses and the
Allowheader.