news 2026/10/3 6:15:09

把本地大模型接进内网:Ollama 加一层反向代理的最小可用配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
把本地大模型接进内网:Ollama 加一层反向代理的最小可用配置

一个人在自己电脑上跑 Ollama,默认配置基本就够用了。麻烦出现在第二种场景:同一间办公室里四五个人,都想用同一台机器上的那张显卡。

默认装完,Ollama 只监听127.0.0.1:11434,也就是只有本机能访问。同事想用得先连你的电脑?不现实。给每台机器各装一套?四五个人一起跑,显存当场就满了。

我后来选的做法是:模型只在一台机器上跑,前面加一层反向代理,把服务暴露在内网里,其他人用浏览器或脚本连过来。这篇写的就是这套最小配置,以及我自己配的时候踩过的几个默认值。

一、先让 Ollama 监听内网地址

Ollama 的服务地址由环境变量控制。Windows 下在「系统属性 → 环境变量」里加,Linux 下写进 systemd 的Environment=:

变量作用建议值
OLLAMA_HOST监听地址与端口0.0.0.0:11434(或指定内网网卡 IP)
OLLAMA_ORIGINS允许跨域的来源(浏览器直连必配)你的内网域名,如http://ollama.lan
OLLAMA_MAX_LOADED_MODELS同时驻留几个模型显卡够大就 2,不够就 1
OLLAMA_NUM_PARALLEL单模型并发请求数4~8,按显存反推
OLLAMA_KEEP_ALIVE空闲多久卸载模型30m,避免来回重载

改完重启服务,本机用下面这条命令能拿到模型列表,说明模型服务本身没问题:

curl http://127.0.0.1:11434/api/tags

⚠️ 一个高频坑:OLLAMA_HOST改成0.0.0.0之后,不要顺手把 11434 端口映射到公网。Ollama 自身没有鉴权,暴露到公网等于把显卡送人。

二、加一层反向代理

代理层解决三件事:统一入口和域名、加访问控制、统一超时。

Nginx 最核心的一段:

location / { proxy_pass http://127.0.0.1:11434; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 流式输出必须关缓冲 proxy_buffering off; proxy_cache off; # 大模型首 token 慢,读超时给足 proxy_read_timeout 600s; proxy_send_timeout 600s; }

这里有两个参数很容易漏,漏了就会出现「模型明明在跑,但页面一直转圈」:

  • proxy_buffering off:大模型是流式吐 token 的,开着缓冲会把内容攒住,前端只能等全部生成完才看到第一个字
  • proxy_read_timeout:默认 60s,长回答或大 context 很容易超,直接提到 600s

内网里想再省事,Caddy 两行就够:

ollama.lan { reverse_proxy 127.0.0.1:11434 { flush_interval -1 } }

flush_interval -1等价于关缓冲,是 Caddy 里跑流式接口的固定动作。

三、把并发和显存对上

代理修好之后,第二个瓶颈一定是显存。显存和并发的关系大致是这样:

显存模型规模(量化后)建议NUM_PARALLEL
6~8 GB7B / Q41~2
12~16 GB14B / Q42~4
24 GB32B / Q4 或 14B / Q84~8

并发给多了通常不会报错,只会变慢——请求排队、模型被反复换入换出,反而比单请求更糟。所以「并发数」不是越大越好,它应该由显存反推出来,而不是拍脑袋定。

四、访问控制别省

内网不等于可以裸奔。最少做两件事:

  • 给代理加一层 Basic Auth,或用 Nginx 的allow/deny只放行内网网段
  • 如需外网访问,走 VPN 或内网穿透 + 认证,不要直接把端口开到公网
allow 192.168.1.0/24; deny all; auth_basic "ollama"; auth_basic_user_file /etc/nginx/.htpasswd;

五、配完按这五条过一遍

  • [ ] 本机curl直连 11434 正常,排除模型服务本身的问题
  • [ ] 从另一台机器curl代理域名正常,说明监听和代理链路通了
  • [ ] 浏览器里流式输出是「一个字一个字出」,不是「等半天一次全出」(否则就是缓冲没关)
  • [ ] 长回答不中断(否则就是读超时没提)
  • [ ] 换一个不在白名单的网段访问被拒绝,说明访问控制生效

小结

这套配置的全部内容就是:让模型监听内网地址 → 前面加一层关掉缓冲、放大超时的反向代理 → 用显存反推并发 → 加上访问控制。没有一步需要改 Ollama 的源码,也不需要额外的调度中间件。

真正会让人卡住的从来不是配置本身,而是那几个「文档里不会特意写」的默认值:默认只监听本机、默认开缓冲、默认 60 秒超时、默认没有鉴权。把这四个默认值改掉,多人在内网共用一个本地模型这件事就成立了。


关于作者:我是信可维,在做「软件著作权申请材料的辅助整理」工具。上面这些是自己在内网搭本地模型时记下来的配置流水,不是通用教程模板。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 6:12:54

PHP 扩展加载失败

php -m 报 Unable to load dynamic library。答案其实就写在这条报错里,只是写在最里面那层括号里。 这个故障容易让人绕远。报错文本长、带路径、带括号嵌套,第一眼看不出该查什么。于是转头去翻面板、重装扩展、比对 php.ini,折腾一圈问题还…

作者头像 李华
网站建设 2026/10/3 6:11:38

VSC-HVDC四端系统实战解析:控制逻辑、通信协议与调度落地

1. 这不是教科书里的概念图,而是真实电网调度室正在跑的拓扑你打开电力系统仿真软件,看到四个变流站像四颗行星绕着中心母线旋转——这不是教学演示动画,而是华东某省级电网2024年夏季负荷高峰期间实际投运的VSC-HVDC交直流混合并网系统的实时…

作者头像 李华
网站建设 2026/10/3 6:11:34

Python+OpenCV+GPT:从零搭建虚拟数字人直播系统实战

1. 虚拟数字人直播的底层逻辑与方案选型1.1 为什么选择 Python Pygame OpenCV GPT 这套组合做虚拟数字人直播,核心要解决三件事:形象渲染、环境感知、智能对话。市面上成熟的商业方案不少,但如果你想从零搭一套自己能完全掌控、成本可控、…

作者头像 李华
网站建设 2026/10/3 6:11:32

用Dify打造AI复盘助手:从日志到结构化结论的自动化工作流

说实话,我第一次看到"hindsight"这个词蹦到我工作台旁边的时候,第一反应是:这不就是"事后诸葛亮"的英文版吗?后来真把它当个项目名来用,才发现这名字起得特别妙。hindsight 的意思是"后见之明…

作者头像 李华
网站建设 2026/10/3 6:09:55

Word转竖屏视频全自动流程:HTML+edge-tts+Remotion+FFmpeg实战

1. 从一份 Word 稿到 142 秒竖屏视频,这套流程到底解决了什么问题手里有一份写好的 Word 口播稿,想把它变成一条能直接发出去的竖屏短视频,这件事听起来简单,做起来全是坑。我最初的想法也很朴素:把稿子念一遍录下来&a…

作者头像 李华