ollama 开放外部访问

作者: adm 分类: AI 发布时间: 2025-01-30

要开放 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。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!