Ollama

关注公众号 jb51net

关闭
AI > Ollama >

Ollama无法通过本地IP访问11434端口的解决方案

CarlowZJ

根据你的描述,你在尝试将 Ollama 的 localhost 地址替换为本地 IP 地址(如 192.168.*.*)时,遇到了网络错误,提示无法连接到服务。但在浏览器中访问 http://<你的IP>:11434 时,Ollama 显示正在运行。以下是可能的原因和解决方案:

一、问题分析

Ollama 默认绑定到 127.0.0.1
默认情况下,Ollama 服务绑定到 127.0.0.1(即 localhost),这意味着它只能接受来自本地主机的连接。如果你尝试通过本地 IP 地址访问,可能会遇到连接问题。

防火墙或网络配置问题
即使你已经在防火墙中允许了 11434 端口,可能存在其他网络配置问题,导致无法通过本地 IP 访问。

Docker 网络配置问题
如果你使用 Docker 部署 Ollama,可能需要确保 Docker 容器正确配置了网络,并且端口映射正确。

二、解决方案

1.更改 Ollama 的绑定地址

你可以通过设置环境变量 OLLAMA_HOST 来更改 Ollama 的绑定地址,使其监听所有网络接口:

export OLLAMA_HOST="0.0.0.0:11434"
ollama serve

这将使 Ollama 服务能够接受来自任何 IP 地址的连接。

2.检查防火墙和安全软件

确保防火墙或安全软件没有阻止 11434 端口的流量。你可以暂时关闭防火墙进行测试:

sudo systemctl stop firewalld  # 对于 CentOS
# 或
sudo ufw disable  # 对于 Ubuntu

如果关闭防火墙后可以正常访问,说明需要调整防火墙规则。

3.检查 Docker 网络配置

如果你使用 Docker 部署 Ollama,确保容器正确映射了 11434 端口

docker run -d -p 11434:11434 \
  --name ollama \
  mintplexlabs/ollama

同时,确保容器内部的 Ollama 服务绑定到 0.0.0.0

4.使用 Nginx 反向代理

如果上述方法无法解决问题,可以使用 Nginx 设置反向代理,将外部请求转发到 Ollama 服务:

events {}
http {
    server {
        listen 11435;  # 对外暴露的端口
        location / {
            proxy_pass http://127.0.0.1:11434;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

然后运行 Nginx 容器:

docker run -d \
    --name nginx-proxy \
    -p 11435:11435 \
    -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf:ro \
    nginx:1.24.0

这样,你可以通过 <你的IP>:11435 访问 Ollama 服务。

ollama架构图

三、总结

通过更改 Ollama 的绑定地址、检查防火墙配置和 Docker 网络设置,你应该能够解决无法通过本地 IP 访问 11434 端口的问题。如果问题仍然存在,可以尝试使用 Nginx 设置反向代理,将请求转发到 Ollama 服务。

到此这篇关于Ollama无法通过本地IP访问11434端口的解决方案的文章就介绍到这了,更多相关Ollama无法访问11434端口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!