当前位置: 首页 > article >正文

避坑指南:Ollama部署DeepSeek-R1时,如何安全地开放API端口给内网其他服务调用?

深度解析Ollama部署DeepSeek-R1时内网API安全开放实战当你在一台Linux服务器上成功部署了Ollama和DeepSeek-R1模型后下一步自然是想让内网中的其他服务也能调用这个强大的AI能力。但直接开放端口就像把家门钥匙插在锁上——方便但危险。本文将带你深入探讨如何在保证安全的前提下优雅地实现这一目标。1. 为什么直接暴露Ollama端口是个糟糕主意很多开发者为了快速实现功能会简单粗暴地设置OLLAMA_HOST0.0.0.0和OLLAMA_ORIGINS*。这种做法虽然能立即解决问题却埋下了严重的安全隐患全接口暴露0.0.0.0绑定意味着所有网络接口包括公网IP都会监听11434端口零访问控制任何知道服务器IP的人都可以直接调用API跨域风险通配符(*)跨域设置可能被恶意网站利用发起CSRF攻击资源滥用没有限流措施可能导致服务器资源被耗尽真实案例某创业公司开发人员为了方便测试将内部AI服务端口开放到公网且未设置任何防护。一周后服务器流量暴增调查发现已被爬虫程序大量调用产生了数万元云计算费用。2. 内网安全架构设计原则在开始具体配置前我们需要明确几个核心安全原则最小权限原则只开放必要的端口给必要的IP纵深防御在网络不同层次设置多重防护加密通信即使在内网也应考虑数据传输安全审计追踪记录关键操作的访问日志推荐的内网API安全架构[内网客户端] ←HTTPS→ [Nginx反向代理] ←HTTP→ [Ollama服务] ↑ ↑ IP白名单 基础认证3. 精准绑定到内网IP3.1 识别服务器内网IP首先确定服务器在内网中的IP地址ip addr show | grep inet | grep -v 127.0.0.1输出示例inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0这里192.168.1.100就是我们需要绑定的内网IP。3.2 修改Ollama服务配置对于systemd管理的服务编辑配置文件sudo vim /etc/systemd/system/ollama.service修改为仅绑定内网IP[Service] EnvironmentOLLAMA_HOST192.168.1.100:11434 EnvironmentOLLAMA_ORIGINShttp://192.168.1.0/24重启服务使配置生效sudo systemctl daemon-reload sudo systemctl restart ollama验证绑定是否成功ss -tulnp | grep ollama正确输出应显示tcp LISTEN 0 4096 192.168.1.100:11434 *:*4. 防火墙精确控制即使绑定了内网IP防火墙仍是必要的第二道防线。4.1 使用UFW配置# 允许内网网段访问11434端口 sudo ufw allow from 192.168.1.0/24 to any port 11434 # 拒绝其他所有访问 sudo ufw deny 11434 # 启用防火墙 sudo ufw enable4.2 使用firewalld配置# 添加内网网段到信任区域 sudo firewall-cmd --permanent --zonetrusted --add-source192.168.1.0/24 # 开放端口给信任区域 sudo firewall-cmd --permanent --zonetrusted --add-port11434/tcp # 重载配置 sudo firewall-cmd --reload5. Nginx反向代理进阶配置虽然直接绑定内网IP已经相对安全但通过Nginx反向代理可以提供更多安全特性。5.1 基础安装sudo apt install nginx -y5.2 代理配置示例创建配置文件/etc/nginx/conf.d/ollama-proxy.confserver { listen 11435 ssl; server_name internal-api.yourdomain.com; # SSL配置 ssl_certificate /path/to/your/cert.pem; ssl_certificate_key /path/to/your/key.pem; # 仅允许内网访问 allow 192.168.1.0/24; deny all; # 基础认证 auth_basic Ollama API; auth_basic_user_file /etc/nginx/.ollama_htpasswd; location / { proxy_pass http://192.168.1.100:11434; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 连接超时设置 proxy_connect_timeout 60s; proxy_read_timeout 600s; proxy_send_timeout 600s; } # 访问日志 access_log /var/log/nginx/ollama_access.log; error_log /var/log/nginx/ollama_error.log; }创建认证文件sudo htpasswd -c /etc/nginx/.ollama_htpasswd api_user测试并重载Nginxsudo nginx -t sudo systemctl reload nginx6. Docker环境特殊配置如果你使用Docker运行Ollama网络配置略有不同。6.1 创建自定义网络docker network create --subnet192.168.1.0/24 ollama-net6.2 运行容器时指定网络docker run -d \ --name ollama \ --network ollama-net \ --ip 192.168.1.200 \ -p 192.168.1.200:11434:11434 \ -v ollama_data:/root/.ollama \ ollama/ollama6.3 其他容器访问同一网络下的其他容器可以通过内网IP直接访问import requests url http://192.168.1.200:11434/api/generate data { model: deepseek-r1, prompt: 如何安全地开放API端口 } response requests.post(url, jsondata)7. 监控与日志分析安全配置完成后持续的监控同样重要。7.1 关键监控指标指标名称监控方式告警阈值API调用频率Nginx日志分析100次/分钟/IP错误响应率Ollama日志5%内存使用量PrometheusNodeExporter80%持续5分钟异常IP访问尝试fail2ban3次认证失败7.2 日志分析示例使用awk分析Nginx访问日志awk {print $1} /var/log/nginx/ollama_access.log | sort | uniq -c | sort -nr这将显示按访问量排序的客户端IP列表帮助识别异常访问模式。8. 性能优化与限流即使在内网环境中适当的限流也能防止意外过载。8.1 Nginx限流配置在server配置中添加limit_req_zone $binary_remote_addr zoneollamalimit:10m rate10r/s; location /api/ { limit_req zoneollamalimit burst20 nodelay; proxy_pass http://192.168.1.100:11434; }8.2 Ollama自身优化调整systemd服务限制[Service] ... LimitNOFILE65535 LimitNPROC40969. 灾备与自动恢复任何服务都可能出现意外中断完善的恢复机制至关重要。9.1 健康检查脚本创建/usr/local/bin/ollama-healthcheck.sh#!/bin/bash API_STATUS$(curl -s -o /dev/null -w %{http_code} http://192.168.1.100:11434) if [ $API_STATUS -ne 200 ]; then systemctl restart ollama echo $(date) - Ollama服务重启 /var/log/ollama_health.log fi添加到cron定时任务(crontab -l ; echo */5 * * * * /usr/local/bin/ollama-healthcheck.sh) | crontab -9.2 备份策略模型数据定期备份# 每日凌晨备份 0 3 * * * tar -zcf /backup/ollama_$(date \%Y\%m\%d).tar.gz /root/.ollama10. 客户端安全实践即使服务端配置完善客户端同样需要注意安全。客户端调用最佳实践连接复用避免频繁建立新连接超时设置防止挂起请求占用资源敏感信息处理不要在客户端存储认证信息请求验证客户端也应验证响应完整性Python示例import requests from requests.auth import HTTPBasicAuth session requests.Session() adapter requests.adapters.HTTPAdapter( pool_connections10, pool_maxsize10, max_retries3 ) session.mount(http://, adapter) response session.post( https://internal-api.yourdomain.com:11435/api/generate, json{model: deepseek-r1, prompt: 安全建议}, authHTTPBasicAuth(api_user, secure_password), timeout(10, 30), verify/path/to/ca_bundle.pem )经过以上全方位的安全配置你的OllamaDeepSeek-R1服务已经能够在保持高度安全性的同时为内网其他应用提供可靠的AI能力支持。记住安全是一个持续的过程定期审查和更新这些配置同样重要。

相关文章:

避坑指南:Ollama部署DeepSeek-R1时,如何安全地开放API端口给内网其他服务调用?

深度解析:Ollama部署DeepSeek-R1时内网API安全开放实战 当你在一台Linux服务器上成功部署了Ollama和DeepSeek-R1模型后,下一步自然是想让内网中的其他服务也能调用这个强大的AI能力。但直接开放端口就像把家门钥匙插在锁上——方便但危险。本文将带你深入…...

vLLM-v0.17.1参数详解:--disable-log-stats与--log-level日志调优

vLLM-v0.17.1参数详解:--disable-log-stats与--log-level日志调优 1. vLLM框架简介 vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库,以其出色的吞吐量和易用性著称。这个项目最初由加州大学伯克利分校的天空计算实验室开发,现在…...

医学影像与卫星图的救星?深入聊聊JPEG-LS算法在边缘计算设备上的应用优势

JPEG-LS算法:边缘计算时代的医学影像与卫星图像压缩利器 当一台CT扫描仪每秒产生数百张16位深度的医学影像,或一颗遥感卫星每天传回数TB的高清地表数据时,传统的图像压缩方案往往面临两难选择——要么牺牲宝贵的诊断细节,要么耗尽…...

LEDPatternLib:非阻塞LED动画库设计与嵌入式实践

1. 项目概述LEDPatternLib 是一款面向嵌入式 LED 动画控制的轻量级、模块化 Arduino 库,专为资源受限的微控制器平台设计。其核心目标并非替代底层驱动,而是构建在成熟硬件抽象层之上的非阻塞(non-blocking)模式动画调度框架。该库…...

OpenClaw浏览器自动化:ollama-QwQ-32B驱动的研究资料收集系统

OpenClaw浏览器自动化:ollama-QwQ-32B驱动的研究资料收集系统 1. 为什么需要自动化研究资料收集 作为一名经常需要查阅大量文献的技术写作者,我长期被资料收集的效率问题困扰。传统工作流程中,我需要手动在Google Scholar、arXiv、知乎等平…...

Ludusavi:你的游戏进度守护神,三分钟搞定跨平台存档备份

Ludusavi:你的游戏进度守护神,三分钟搞定跨平台存档备份 【免费下载链接】ludusavi Backup tool for PC game saves 项目地址: https://gitcode.com/gh_mirrors/lu/ludusavi 你是否曾在电脑崩溃后,发现数百小时的游戏进度瞬间归零&…...

Bitahub算力上新 RTX3080 10G重磅登场

针对当前 AI 开发与科研场景中算力成本高、配置复杂的痛点,Bitahub 平台推出了 RTX3080 10G 显卡算力服务。该显卡具备 10GB 显存,能够满足模型训练、推理等多场景算力需求,同时平台定价极具竞争力:单卡低至 0.82 元 / 小时&#…...

Display Driver Uninstaller深度清理实战指南

Display Driver Uninstaller深度清理实战指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstaller 当你遭遇游戏帧…...

让ai成为你的vue开发搭档,用快马智能优化代码性能与结构

让AI成为你的Vue开发搭档,用快马智能优化代码性能与结构 最近在开发一个Vue3项目时,遇到了几个性能瓶颈问题。作为一个前端开发者,性能优化是绕不开的话题。幸运的是,借助AI辅助开发工具,这些问题都能得到更高效的解决…...

Stable Diffusion ComfyUI进阶:局部重绘与智能扩图的实战技巧与创意应用

1. 局部重绘的核心原理与实战技巧 局部重绘是Stable Diffusion ComfyUI中最实用的功能之一,它允许你在不改变整体构图的情况下,对图像的特定区域进行重新绘制。这个功能背后的技术原理其实很有意思——它利用了潜在空间(latent space&#xf…...

bean with name ‘sqlSessionFactory‘ defined in class path resource [com/baomidou/mybatisplus/autoconf

还得是豆包啊...

工业质检避坑指南:手把手教你根据数据成本选择异常检测模型(RGB/PCD/多模态实战)

工业质检实战:如何基于数据成本选择最优异常检测方案 在工业质检领域,算法工程师常面临一个现实困境:实验室里刷榜的模型往往需要昂贵的数据采集设备,而工厂产线上可能只有最基础的RGB相机。我曾参与过多个工业质检项目&#xff0…...

CST仿真设计:反射透射性线圆转换与线线转换实战案例及录屏教程

cst仿真设计 反射透射性线圆转换,线线转换 案例与录屏打开CST刚打开模板栏是不是总盯着默认的几个空模板发呆?今天咱们整点新手入门但能快速装逼朋友圈或者中期报告材料的活——反射透射都能玩的偏振转换超表面(Metasurface)&…...

从MSTAR到RSDD-SAR:一文看懂SAR目标检测数据集20年演进,你的模型该用哪个?

从MSTAR到RSDD-SAR:SAR目标检测数据集的二十年技术进化与选型实战 军用雷达技术研究员李明曾在2018年遇到一个棘手问题:他训练的舰船检测模型在实验室测试准确率达到98%,实际部署到南海海域时性能却暴跌至62%。问题根源很快锁定在数据集——他…...

从零到一:基于GitHub Pages与Jekyll搭建你的专属学术主页

1. 为什么选择GitHub Pages Jekyll搭建学术主页? 作为一个长期在学术界摸爬滚打的老兵,我见过太多同行花大价钱购买服务器和维护网站,结果最后因为各种技术问题半途而废。直到我发现GitHub Pages和Jekyll这对黄金组合,才真正找到…...

2026年03月GESPC++二级真题解析(含视频)

视频讲解:GESP2026年3月二级C真题讲解 一、单选题 第1题 解析: 答案B,ACD选项都是向机器人输入信息,是输入设备 第2题 解析: 答案D,判断是 “ 菱形框 ” 第3题 解析: 答案D,变…...

Ollama平台部署GLM-4.7-Flash:从零开始搭建本地大模型服务

Ollama平台部署GLM-4.7-Flash:从零开始搭建本地大模型服务 1. 为什么选择GLM-4.7-Flash? 在众多开源大模型中,GLM-4.7-Flash以其独特的定位脱颖而出。这个30B参数的MoE(混合专家)模型,在性能与效率之间取…...

M5Stack U126 RTC驱动库:PCF8563T嵌入式实时时钟深度解析

1. 项目概述M5Unit-RTC 是专为 M5Stack 生态中 Unit 系列模块设计的轻量级实时时钟(RTC)驱动库,对应硬件型号为U126—— 一款基于Ricoh RP5C01A 兼容架构、实际采用 NXP PCF8563T 实时时钟芯片的 IC 接口 RTC 模块。该模块集成高精度温度补偿…...

Abaqus数值模拟案例研究:随机纤维分布二维RVE模型中的微观横向拉伸损伤与延性损伤评估

abaqus数值模拟案例系列-随机纤维分布二维RVE模型微观横向拉伸损伤,设置了周期边界,采用Drucker-Prager(dp)准则,Ductile-Damage延性损伤,界面采用cohesive单元,采用牵引分离方法,Qu…...

OpenClaw配置备份指南:GLM-4.7-Flash环境快速迁移方案

OpenClaw配置备份指南:GLM-4.7-Flash环境快速迁移方案 1. 为什么需要环境迁移? 上周我的主力开发机突然硬盘故障,导致精心配置的OpenClaw环境全部丢失。重装后发现要重新对接GLM-4.7-Flash模型、配置飞书通道、安装十几个自定义技能——这个…...

不用命令行!Win11任务栏图标消失的图形化解决方案(Explorer重启神器推荐)

Win11任务栏图标消失?5种可视化修复方案与深度解析 每次切换虚拟桌面后,Win11任务栏图标集体"失踪"的毛病,堪称微软系统最顽固的"幽灵故障"之一。作为从Windows 95时代就存在的资源管理器痼疾,这个问题在Win1…...

Antares LoRaWAN库深度解析:嵌入式LoRaWAN MAC层实现指南

1. Antares LoRaWAN 库深度技术解析:面向嵌入式工程师的 LoRaWAN MAC 层实现指南 1.1 库定位与工程价值 Antares LoRaWAN 是一个专为 Arduino 生态设计的轻量级 LoRaWAN MAC 层实现库,其核心价值不在于功能堆砌,而在于 可理解性、可调试性与…...

SVPWM/AZSPWM的simulink仿真 AZSPWM(Advanced Zero Se...

SVPWM/AZSPWM的simulink仿真 AZSPWM(Advanced Zero Sequence Pulse Width Modulation,先进零序脉宽调制)是一种改进的脉宽调制技术,主要应用于三相逆变器中,通过引入零序分量来优化输出电压的波形和性能。 AZSPWM的目标…...

避开这些坑!群晖+acme.sh申请Let’s Encrypt证书的完整指南

群晖NAS上零踩坑申请Lets Encrypt证书的终极实践手册 每次看到浏览器地址栏那个刺眼的"不安全"提示就浑身难受?作为群晖深度用户,我花了三个周末时间踩遍了所有证书申请的坑。从idn指令缺失到nss验证失败,从API调用超时到证书自动更…...

Win11Debloat实战指南:3步彻底清理Windows 11系统臃肿

Win11Debloat实战指南:3步彻底清理Windows 11系统臃肿 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化和改…...

等保测评必看!用组策略批量关闭445/139端口(域环境适用版)

企业域环境下批量关闭高危端口的组策略实战指南 在等保测评和日常安全运维中,445、139、135等端口因其历史漏洞和潜在风险,常被列为必须管控的高危端口。对于拥有数百甚至上千台终端的中大型企业来说,逐台手动配置不仅效率低下,更…...

2026考公全攻略:在校生如何选岗、如何备考、如何上岸一次讲清

很多在校生最近都在问:现在开始准备公务员考试,还来得及吗先说结论:来得及,但前提是你要走对路径这几年考公环境已经发生明显变化报考人数持续增加岗位信息越来越透明单纯刷题已经不再有效考公正在从拼努力,变成拼策略…...

OpenClaw性能调优:Qwen3-32B镜像的批处理与并发控制

OpenClaw性能调优:Qwen3-32B镜像的批处理与并发控制 1. 为什么需要性能调优 当我第一次在RTX4090D上部署Qwen3-32B模型并接入OpenClaw时,本以为24GB显存足以应对各种任务。但现实很快给了我一记重拳——当我尝试批量处理100个文档时,系统不…...

Obsidian Local Images Plus 插件使用指南

Obsidian Local Images Plus 插件使用指南 【免费下载链接】obsidian-local-images-plus This repo is a reincarnation of obsidian-local-images plugin which main aim was downloading images in md notes to local storage. 项目地址: https://gitcode.com/gh_mirrors/o…...

风扇智能调节终极指南:三步打造安静高效的散热系统

风扇智能调节终极指南:三步打造安静高效的散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fa…...