ollama 开放外部访问
要开放 Ollama 的外部访问,使其可以被局域网或外网访问,需要进行以下配置:
1. 设置 OLLAMA_HOST 环境变量
默认情况下,Ollama 仅监听 127.0.0.1:11434,要允许外部访问,需修改 OLLAMA_HOST:
bash
export OLLAMA_HOST=0.0.0.0:11434
0.0.0.0 表示监听所有网络接口,允许任意 IP 访问(包括局域网)。
若需限制访问来源,可指定具体 IP,如 192.168.1.100:1143423。
不同系统的持久化方法
Linux(Systemd):
bash
sudo systemctl edit ollama.service
添加:
ini
[Service] Environment="OLLAMA_HOST=0.0.0.0:11434"
然后重启服务:
bash
sudo systemctl daemon-reload sudo systemctl restart ollama
macOS:
临时生效(仅当前终端):
bash
export OLLAMA_HOST=0.0.0.0:11434
永久生效(写入 ~/.zshrc 或 /etc/profile):
bash
echo 'export OLLAMA_HOST=0.0.0.0:11434' >> ~/.zshrc source ~/.zshrc
Windows:
通过 系统属性 > 环境变量 新增 OLLAMA_HOST=0.0.0.08。
或在 PowerShell 临时设置:
powershell
$env:OLLAMA_HOST = "0.0.0.0:11434"
2. 开放防火墙端口
Ollama 默认使用 11434/TCP,需在防火墙放行:
Linux(firewalld/ufw):
bash
sudo firewall-cmd --add-port=11434/tcp --permanent sudo firewall-cmd --reload
Windows:
进入 高级安全 Windows Defender 防火墙 > 入站规则,新增允许 11434/TCP18。
或命令行:
powershell
netsh advfirewall firewall add rule name=”Ollama Port 11434″ dir=in action=allow protocol=TCP localport=11434
macOS:
bash
sudo pfctl -E # 启用防火墙(若使用 pf)
编辑 /etc/pf.conf 添加规则(需重启生效)。
3. 重启 Ollama 服务
bash
ollama serve # 若手动运行 # 或 sudo systemctl restart ollama # Linux (Systemd)
4. 验证访问
在本机测试:
bash
curl http://127.0.0.1:11434
应返回 Ollama is running1。
在局域网另一台设备访问:
bash
curl http://<本机IP>:11434
如 http://192.168.1.100:114347。
5. 可选:限制访问来源(安全增强)
修改 OLLAMA_ORIGINS 指定允许的域名/IP:
bash
export OLLAMA_ORIGINS="http://example.com,http://192.168.1.*"
或直接修改 OLLAMA_HOST 为特定 IP(如 192.168.1.100:11434)4。
常见问题
设置后仍无法访问:
检查防火墙是否放行 11434 端口。
确保 OLLAMA_HOST 已正确设置(echo $OLLAMA_HOST 验证)。
尝试手动启动 ollama serve 查看日志23。
Mac 重启后失效:
将 export OLLAMA_HOST=0.0.0.0 写入 ~/.zshrc 或 /etc/profile3。
Windows 环境变量不生效:
确保在 系统变量 而非用户变量中设置,并重启终端8。
通过以上步骤,Ollama 即可在局域网或外网访问。如需更安全的配置,建议结合 OLLAMA_ORIGINS 限制来源或使用反向代理(如 Nginx)进行 HTTPS 加密4。