n8nでOllamaに接続できない|ECONNREFUSEDの対処

n8nでローカルLLMを動かそうとして、Ollamaの認証情報テストが通らずに止まっていませんか。このエラーの多くはOllama本体の故障ではなく、「n8nから見た届け先」の指定ミスが原因です。特にn8nをDockerで動かしている場合、この行き違いはほぼ必ず起こります。

本記事では、ECONNREFUSEDが出る仕組みを整理したうえで、n8nとOllamaがどこで動いているかという構成別に、Base URLへ入れる値と設定手順を解説します。

ECONNREFUSEDとは?

表示されるエラー文

n8nでOllamaの認証情報を保存すると、画面に赤い枠で次の見出しが表示されます。

Couldn't connect with these settings

その下に、再試行ボタンをはさんで拒否された理由が短く出ます。

ECONNREFUSED

ワークフローを実行した場合は、接続先のアドレスまで含んだ長いエラーが出ることもあります。次はその1行目です。

Error: connect ECONNREFUSED ::1:11434

接続拒否の意味

ECONNREFUSEDは「Connection Refused(接続拒否)」の略です。通信は宛先のマシンまで届いているものの、指定したポート(11434番)で待ち受けるプログラムがいない、または受け付けを拒否した状態を指します。

「相手が見つからない」のではなく「扉の前までは行けたが開かなかった」状態で、実際には宛先の書き方が間違っているケースが大半です。

Ollamaの故障ではない

「Ollamaのインストールに失敗したのでは」と疑いたくなりますが、その心配はほとんどありません。Ollamaは正常に動いていて、n8nからの呼びかけが適切な窓口に届いていないだけです。

n8nのOllama認証情報は、Base URLの既定値が http://localhost:11434 です。この「localhost」がn8nから見た場合とOllamaから見た場合で別の場所を指すことが、問題の核心です。

図解:ECONNREFUSEDとは?n8nがOllamaに接続できないときのエラー

接続できない3つの原因

Dockerのlocalhost問題

n8nをDockerコンテナで動かしている場合、コンテナ内で指定した「localhost」は、パソコン本体ではなくコンテナ自身を指します。n8n公式ドキュメントも「each container has its own localhost」と明記しています。

  • n8nコンテナの中にOllamaは入っていないため、自分自身の11434番を叩いても応答がない
  • パソコン側でOllamaが起動していても、コンテナからは隔離されていて届かない
  • コンテナから見た「外側」を指す専用のアドレス指定が必要になる

Docker利用時にこのエラーが最も多いのは、このネットワークの隔離が理由です。

IPv6への解決

OSの設定によっては、localhost という名前がIPv4の 127.0.0.1 ではなく、IPv6の ::1 に先に紐付けられることがあります。

  • エラーに ::1:11434 と出ていれば、n8nはIPv6で接続を試みている
  • Ollamaは既定でIPv4側を待ち受けるため、噛み合わずに拒否される
  • n8n公式ドキュメントも、この場合はBase URLを http://127.0.0.1:11434 にするよう案内している

名前解決の段階で起きるすれ違いなので、IPアドレスを直接書けば避けられます。

接続制限の仕組み

Ollamaは既定では、自分が動いているマシンの内部からの通信しか受け付けません。公式FAQにも「Ollama binds 127.0.0.1 port 11434 by default.」と記載されています(2026年8月1日確認)。

  • Dockerコンテナからの通信は、パソコン側から見ると「外部」からのアクセスにあたる
  • そのためアドレスを正しく指定しても、受け付け側で弾かれることがある
  • すべてのネットワーク側を待ち受ける設定(0.0.0.0)に変えると解消する

既定値は安全性を優先したものですが、コンテナとの連携ではこれが障壁になります。

図解:n8nからOllamaに接続できない3つの原因

構成別・Base URL設定

構成の特定

解決策は「n8nがどこで動いていて、Ollamaがどこで動いているか」で決まります。まず下の表でご自身の構成を特定してください。

構成 Base URLに入れる値 補足
n8n=Docker/Ollama=パソコン上 http://host.docker.internal:11434 最も多い構成。Linuxでは下記の追加設定が必要
n8n=Docker/Ollama=Docker(別コンテナ) http://[Ollamaのコンテナ名]:11434 例:http://my-ollama:11434
n8n=パソコン上/Ollama=パソコン上 http://127.0.0.1:11434 npm版・デスクトップ版。localhostは避ける
n8nとOllamaが同じコンテナ内 http://localhost:11434 既定値のままでよい

DockerとPC間の設定

WindowsやmacOSでDocker Desktopを使っている場合、コンテナから外側のパソコンを指す host.docker.internal という名前が使えます。

  1. n8nでOllamaの認証情報を開く
  2. Base URLを http://host.docker.internal:11434 に書き換える
  3. 保存して接続テストを実行する

別々コンテナの設定

docker composeなどで両方をコンテナ化している場合は、コンテナ名(サービス名)をそのままホスト名として使います。

  1. Ollama側のサービス名を確認する(例:ollama
  2. Base URLを http://ollama:11434 に設定する
  3. 両方のコンテナが同じDockerネットワークに属しているか確認する

Docker不使用時の設定

npm版やデスクトップ版のn8nでは、IPv6との競合を避けることがポイントです。

  1. Base URLに http://localhost:11434 ではなく http://127.0.0.1:11434 を入れる
  2. 数字で直接指定することで ::1 への解決を防ぎ、IPv4で通信させる
  3. それでも拒否される場合は、次章のOllama側の確認に進む

Linuxでの代替設定

UbuntuなどのLinuxサーバーでDockerを使う場合、host.docker.internal は自動では使えません。n8n公式ドキュメントとOllama公式ドキュメントは、どちらもコンテナ起動時に明示的に追加するよう案内しています。docker run なら次のフラグを付けます。

--add-host host.docker.internal:host-gateway

docker composeを使う場合は、n8nのサービス定義に次の記述を追加します。

extra_hosts:
  - "host.docker.internal:host-gateway"

設定後にBase URLを http://host.docker.internal:11434 にすれば、Docker Desktopと同じように接続できます。2026年1月にもRaspberry Pi 5でDocker版のn8nを動かす利用者が同じ症状を公式コミュニティに投稿し、この指定で解決しています。

接続できない時の切り分け

Ollamaの起動確認

Base URLを直しても拒否される場合は、Ollama側に原因があります。まず実際に動いているかを確認してください。

  1. ターミナルで ollama list を実行し、モデル一覧が返るか見る
  2. Linuxでサービスとして動かしているなら systemctl status ollama で稼働状態を確認する
  3. ブラウザで http://127.0.0.1:11434 を開き、応答が返るか確かめる

外部からの接続を許可する

Ollamaが動いているのに拒否される場合は、待ち受けるアドレスを 0.0.0.0:11434 に広げます。手順はOSごとに異なります。

OS 設定手順
macOS ターミナルで launchctl setenv OLLAMA_HOST "0.0.0.0:11434" を実行し、Ollamaアプリを再起動する
Linux systemctl edit ollama.service[Service] の下に Environment="OLLAMA_HOST=0.0.0.0:11434" を追記し、systemctl daemon-reloadsystemctl restart ollama を実行する
Windows 環境変数に OLLAMA_HOST を作成して値を 0.0.0.0:11434 にし、スタートメニューからOllamaを再起動する

いずれも設定後の再起動を忘れると反映されません(出典:Ollama公式FAQ・2026年8月1日確認)。

プロキシ環境の注意点

社内LANなどでHTTPプロキシを使っている環境では、別の要因が絡みます。n8n公式ドキュメントは、Ollamaが独自のHTTPエージェント設定に対応しておらず、HTTP_PROXYHTTPS_PROXY を設定しても意図どおりに動かない場合があると注意を促しています。ここまでで解決しないときは、プロキシの影響を疑ってください。

それでも繋がらないときの代替手段

公式キットの活用

手動設定で行き詰まったら、n8n公式が配布している「Self-hosted AI Starter Kit」で環境ごと作り直す方法があります。n8n・Ollama・Qdrant(ベクトルデータベース)・PostgreSQLが連携済みでまとまった、Docker Composeのテンプレートです。

MacでOllamaだけをDockerの外で動かす手順も公式にあり、.envOLLAMA_HOSThost.docker.internal:11434 にしたうえで、n8n側の認証情報を http://host.docker.internal:11434/ にすると案内されています。

LM Studioへの切替

Ollamaの設定がどうしても解決しない場合は、同じくローカルでモデルを動かせるLM Studioに切り替える手もあります。OpenAI互換のサーバーを立てられるため、n8n側はOllamaではなくOpenAI API認証情報を使います。

  1. LM Studioでローカルサーバーを起動する(コマンドなら lms server start
  2. n8nでOpenAI API認証情報を作り、Base URLに http://localhost:1234/v1 を指定する
  3. n8nがDockerの場合は http://host.docker.internal:1234/v1 に読み替える

ただしLM Studioでも、別のマシンやコンテナから接続する場合はネットワーク公開の設定が必要になることがあります。

💡 エラーで困ったときは

同じOllamaで別のエラーが出ている場合や、LM Studioに切り替えて詰まった場合は、こちらもあわせてご覧ください。

▶ Ollama「requires a newer version」412エラーの原因と対処

▶ LM Studio「No LM Runtime found」エラーの原因と対処法

まとめ

n8nで出るECONNREFUSEDは、ほとんどが「届け先の書き方」の問題です。要点は次の4つです。

  • ECONNREFUSEDの意味:通信は届いたが、そのポートで受け付けてもらえなかった状態
  • Dockerのlocalhost:コンテナ内では自分自身を指すため host.docker.internal で外側を指定する
  • IPv6の回避localhost ではなく 127.0.0.1 と直接書く
  • 受け入れ側の設定:Ollamaの OLLAMA_HOST0.0.0.0:11434 にして再起動する

まずは早見表で構成を特定してBase URLを書き換え、接続テストを実行してください。それでも拒否される場合は、Ollamaの起動確認、OLLAMA_HOST の設定、プロキシの確認という順で切り分けるのが最短です。

メルマガ登録CTA B2(MCPカオスマップ無料プレゼント)