事情本身不复杂,线索都在日志里。Windows 上装完 Ollama,本机 curl 11434 正常,同事从另一台机器访问超时,netstat 看到只绑在 127.0.0.1,防火墙规则加了也没用。
第一反应是「Windows 服务方式启动,环境变量读的是系统级」,验证下来不成立。
原因不止一个,得分开看。默认只监听回环地址,不对外提供端口。另一种情况是OLLAMA_HOST 改完没有重启服务。
另外,防火墙放行的是另一个网段。
动手时先确认端口绑定在哪个地址
netstat -ano | Select-String 11434
以监听所有网卡的方式重启服务
$env:OLLAMA_HOST='0.0.0.0:11434'; ollama serve
本机验证接口可用
curl http://127.0.0.1:11434/api/tags
从另一台机器验证连通性
curl -s -o /dev/null -w '%{http_code}\n' http://192.168.1.20:11434/api/tags
改之前先确认了最近有没有人动过配置,避免白查一遍。
这次没动代码,只在配置和运行环境上找原因。
恢复的判定其实很直接。netstat 显示 0.0.0.0:11434,局域网机器请求返回 200,模型列表能正常拉取。
容易忽略的是,绑定地址和环境变量都要在服务重启后生效,只改当前终端的那份变量对后台服务无效。报错文案容易误导,真正的原因往往在相邻那一层的日志里。
