Ollama API: ошибка 405 — проверить адрес и метод запроса
На странице · 3 разделов
Если Ollama API возвращает 405 Method Not Allowed, проверьте, каким HTTP-методом клиент обратился к какому адресу. В Ollama v0.40.13 чтение версии и списка моделей использует GET, а сведения о модели, чат и генерация — POST. Этот тест не требует скачивания модели; если запрос идёт через другой сервер или прокси, сначала выясните, кто именно вернул 405.
Отправили запрос к локальной Ollama, а получили 405 Method Not Allowed? Это код ответа HTTP: адрес существует, но сервер не принимает использованный способ обращения к нему. Сначала сопоставьте адрес и метод (GET — чтение без тела запроса; POST — отправка данных), а не удаляйте модель или переустанавливайте приложение. В версии v0.40.13 маршруты для сведений о модели и чата зарегистрированы только для POST. s1 s2
Статус проверки: материал основан на документации и исходном коде Ollama v0.40.13; редакция не запускала ни Ollama, ни модель. Ниже — инженерная проверка уже установленной Ollama на Linux с curl в терминале; интернет для этих локальных запросов не нужен. Модель скачивать не нужно. Если сервер у вас не запущен, сначала проверьте локальный API. Для своего компьютера используйте адрес 127.0.0.1:11434; не публикуйте порт в сети ради диагностики. s1
Как проверить адрес, не запрашивая модель?
В терминале на компьютере с Ollama выполните curl -i --max-time 10 'http://127.0.0.1:11434/api/version'. Ожидайте HTTP 200 и JSON с полем version: этот путь в закреплённом коде обслуживает GET. Если вместо ответа отказ в соединении, запрос не дошёл до HTTP-маршрута; проверьте запуск Ollama и нужный порт. Если вы обращаетесь не к своему 127.0.0.1, а через прокси, VPN, Docker или удалённый адрес, код 405 может вернуть другой сервер — сначала выясните фактический адрес. s1 s2
Какие методы принимает Ollama?
Для /api/version и /api/tags используйте GET. Для /api/show, /api/chat и /api/generate используйте POST с JSON-данными. curl без -d обычно отправляет GET; с -d — POST. Поэтому curl -i 'http://127.0.0.1:11434/api/show' обращается не тем методом и в версии v0.40.13 должен получить 405. Это демонстрация ошибки, не способ посмотреть модель. Для просмотра конкретной модели нужен правильный POST с её точным именем. Не путайте нативные адреса /api/... с совместимыми адресами /v1/...: у них тоже надо сверять метод и путь. s1 s2
Без скачанной модели можно проверить, что метод исправлен, даже если данных для полноценного запроса ещё нет: выполните curl -i --max-time 10 -H 'Content-Type: application/json' -d '{}' 'http://127.0.0.1:11434/api/show'. В закреплённом обработчике пустой объект приводит к HTTP 400 и сообщению model is required. Это ожидаемая ошибка учебного теста: запрос дошёл до POST-обработчика, но ему не передали имя модели; это не означает, что модель уже работает. Не используйте такой запрос для оценки качества генерации. s2
Что делать, если после исправления всё ещё 405?
Сравните точные путь, метод и адрес в клиенте с таблицей маршрутов выше. Повторите локальный запрос к /api/version на том же компьютере; если через прокси статус отличается от локального, разбирайте его конфигурацию отдельно. Не угадывайте причину только по фразе Method Not Allowed: версия сервера или промежуточный узел могут отличаться от рассмотренной v0.40.13. Если исправленный POST отвечает 400, прочитайте его текст — для /api/show может не хватать model; если модель не найдена, это уже другая диагностика. s1 s2
Следующий шаг: узнайте точное имя своей модели и её сведения через корректный запрос. s1
Источники
- Ollama v0.40.13 — документация нативного API — revision 04088e7c9d41cba5d33bafbf788d87a465c79d5b; Разделы Generate, Chat, List Local Models, Show Model Information, Version; raw and SHA in research/raw/2026-11-01/seo/ollama-api-405-method-not-allowed/.. Получено 01.11.2026.
- Ollama v0.40.13 — маршруты и ShowHandler в server/routes.go — revision 04088e7c9d41cba5d33bafbf788d87a465c79d5b; Lines 2383–2440 register methods, 1751–1769 reject empty model; raw and SHA in research/raw/2026-11-01/seo/ollama-api-405-method-not-allowed/.. Получено 01.11.2026.