尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Ollama + OpenWebUI + ZeroNews 实战:企业内网大模型公网安全访问部署教程

Ollama + OpenWebUI + ZeroNews 实战:企业内网大模型公网安全访问部署教程 最近帮公司落地了一套内网大模型方案Ollama 跑模型、OpenWebUI 做界面再用 内网穿透 把服务安全穿透到公网外部应用和同事不用拉 VPN 就能直接调用。整套部署五步搞定还叠加了 IP 白名单和地址围栏做安全加固。把完整流程和踩过的坑整理成这篇教程供有类似需求的团队参考。部署步骤本机部署 Ollama— 安装、拉模型。安装 ZeroNews Client— 绑定控制台 Token以系统服务常驻。控制台建 HTTPS 隧道— 内网指向 127.0.0.1:11434分配或绑定公网域名。配置访问控制— IP 白名单、Basic 认证、路由白名单等弥补 Ollama 无 API Key 的缺口。外网验证— 用 curl 或 OpenAI 兼容 SDK 确认公网地址与内网行为一致。下面从环境准备开始 开始部署。前置条件动手之前确认这几件事一台能跑 Ollama 的机器开发机或服务器都可以需要出站连 ZeroNews 云端节点能访问互联网。已有ZeroNews控制台账号。本机有终端权限能执行 curl、安装软件。若走企业自有域名需提前在 DNS 侧能添加 CNAME 记录控制台会给出目标值。一、部署架构二、本机部署 Ollama2.1 安装Ollama按Ollama官网指引安装常见环境如下。在线安装方式macOS / Windows下载安装包一路下一步。装完菜单栏或系统托盘里会有 Ollama 图标服务默认已在后台跑。Linuxcurl -fsSL https://ollama.com/install.sh | sh装完后一般会自动注册 systemd 服务sudo systemctl enable ollama sudo systemctl start ollama sudo systemctl status ollamadocker 安装方式用 docker 安装不侵入主机环境做为调试/测试环境安装方式services: ollama: image: ollama/ollama container_name: ollama restart: unless-stopped user: root ports: - 11434:11434 volumes: - ./ollama:/root/ollama我们测试部署就以 docker 的方式安装2.2 拉模型并交互测试进入到 ollama 容器中docker exec -it ollama bash选一个在显存/内存里跑得动的模型例如 7qwen3.5:9b ollama pull qwen3:4b ollama run qwen3:4b # 交互测试CtrlD 退出ollama list 能看到本地已有模型。生产环境更推荐交给 systemd / 系统服务常驻不要只靠一个前台终端窗口。2.3 确认 API 正常curl -s http://127.0.0.1:11434/api/tags返回 JSON 模型列表说明 HTTP API 已就绪。本地对话接口自测curl -s http://127.0.0.1:11434/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen3.5:9b , messages: [{role: user, content: 你好回复两个字收到}] }能收到模型回复就可以进入下一步。三、Ollama常用APIOllama 默认监听http://127.0.0.1:11434常用接口兼容 OpenAI 风格# 列出本地模型 curl http://127.0.0.1:11434/api/tags # OpenAI 兼容对话 curl http://127.0.0.1:11434/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen2.5:7b, messages: [{role: user, content: 你好}] } # 向量嵌入RAG 场景常用 curl http://127.0.0.1:11434/v1/embeddings \ -H Content-Type: application/json \ -d { model: qwen2.5:7b, input: 一段需要向量化的文本 }vLLM、llama.cpp server 等也多是 HTTP API只是端口不同如 8000、8080。本文以 Ollama 11434 为例换端口即可套用。注意Ollama 默认没有 API Key 鉴权。谁连上端口谁就能调模型、拉模型列表。映射到公网时必须在 ZeroNews 层做 IP 白名单、Basic 认证、路由白名单等——不能只靠穿透把端口裸放出去。四、安装 ZeroNews ClientClient 必须和 Ollama 跑在同一台机器上或至少能访问 127.0.0.1:11434 的同网段机器。以下步骤都在 Ollama 所在主机执行。4.1 安装 Client按ZeroNews文档安装客户端选择对应系统的一键脚本或安装包。Linux 示例curl -fsSL https://download.zeronews.cc/install.sh | bash装完后终端里应有 zeronews 命令。4.2 绑定 AuthToken登录ZeroNews控制台→快速开始复制 AuthToken。在 Ollama 所在机器执行zeronews authtoken {TOKEN}绑定成功后控制台客户端页面应出现一台在线设备主机名与当前机器一致。4.3 ZeroNews client 以系统服务常驻后台以后台服务运行 ZeroNews clientzeronews service install zeronews service start zeronews service status开发机临时联调可以用 zeronews start 前台跑关终端前记得 CtrlC 或 zeronews service stop。4.4 确认 Client 在线在命令行提示 Session Connect 就说明客户端已经连接成功在用户控制台中可以看到已经在线的客户端五、根据应用场景建立 公网访问隧道5.1 给公司员工办公使用我可以采用 openwebuiollama的方式直接提供 AI 服务给公司员工办公使用建议采用企业的自有域名来创建隧道同时搭建部署 openwebuiollama来说实现 可视化的 AI 交互我们采用 docker 方式部署 openwebuiservices: open-webui: image: ghcr.io/open-webui/open-webui:main container_name: open-webui ports: - 8002:8080 volumes: - ./data:/app/backend/data environment: - OLLAMA_BASE_URLhttp://192.168.31.149:11434OLLAMA_BASE_URL 为 Ollama 容器的内网IP访问URL地址openwebui 启动完成同内网IP地址就可以正常访问了接下来在 ZeroNews 控制台上添加 企业自有域名并通过 ZeroNews 自动申请证书自有域名添加完后 就可以添加隧道添加完成后就可以在互联网上正常 OpenwebUI 了考虑员工的访问范围设计到外出出差我们加一个地址围栏的访问策略拒绝海外的用户访问5.2 直接提供 Ollama API 服务 给第三方服务当我们是以算力资源提供给第三方时我们直接提供 ollama 的 API 接口给第三方同样采用自有域名添加一个二级域名 ZeroNews 自动申请证书然后添加 Ollama 的 API 隧道添加完成后 Ollama API 已经给公网调用因为是给第三方调用我们给隧道添加IP访问白名单的控制策略要求用户添加固定的公网IP只允许白名单内IP的方可以调用 API同时在添加 路由白名单添加给用户提供的 API 路由地址 将 ollama 暴露面限制到特定的 API 接口因为 Ollama API 不提供 api key所以我们再给 API 添加一个 BasicAuth 认证从多个维度保障 Ollama 的访问安全5.3 内部系统跟 ollam 之间的联调测试对于 联调测试我们主要随用随键用完即删的一个使用策略生命周期短快速应用用zeronews 的域名即可直接添加随机域名隧道 zeronews 会自动分配随机访问地址整套方案跑下来最大的感受是本地大模型 内网穿透的组合确实能在数据不出内网的前提下解决公网访问的痛点。 HTTPS 隧道和安全策略叠加让暴露公网这件事不再像裸奔那样让人提心吊胆。如果你也在为企业内网大模型的对外访问发愁不妨照着这篇教程试一遍有问题欢迎评论区交流。
返回列表