主题指南
内网隔离环境下的即时通讯:选型与部署
「air-gapped IM / 内网即时通讯」这个需求来自一类特殊但明确的组织:涉密单位、强监管的金融与医疗网络、以及数据主权要求严格的政企环境。它们不能用任何需要互联网连接的 SaaS 通讯工具,哪怕厂商提供私有化部署,也要逐一确认「装上之后到底还联不联网」。这篇指南把离线部署拆成可核对的清单,并说明 IMCore 在隔离网络里的落地方式。
什么是 air-gapped,谁真的需要
Air-gapped(物理隔离)指部署环境与互联网之间没有路由通路——软件进网靠介质摆渡,更新靠离线包,监控与日志都在内网闭环。真正的隔离比「私有云」严格得多:私有云仍然跑在别人的基础设施上,而隔离网络里每一层(数据库、消息队列、对象存储、监控)都必须在网内。海外把这个场景做成了成熟市场的厂商(如面向国防与关键基础设施的协作平台),验证了一件事:隔离部署的需求真实、预算充足,而且评估语言高度标准化——不出网、可审计、离线可升级。
离线部署的八条评估清单
评估任何候选时,逐条让对方给出证据而不是口头承诺:
- 不出网:列出全部对外连接尝试(授权校验、更新检查、崩溃上报、字体与 CDN),确认可全部关闭
- 离线安装:提供不依赖公网仓库的安装介质(tarball / 私有镜像仓库)
- 自带依赖:数据库、缓存、消息队列、对象存储可在网内部署,无云服务依赖
- 本地授权:license 在本地完成校验,不依赖厂商激活服务器
- 本地身份:认证与账号体系可对接网内 LDAP / OIDC,不依赖公有 SSO
- 监控闭环:指标与健康检查输出到网内 Prometheus 等系统
- 离线升级:版本升级有正式的离线包与回滚路径
- 客户端现实:移动端离线推送依赖厂商通道,隔离网络以 Web / 桌面客户端为主——提前规划坐席与用户的接入形态
IMCore 在隔离网络里的落地方式
IMCore 的部署单元对离线场景友好:单个 Go 二进制不依赖运行时下载;Docker Compose 与 Helm 两种编排里,PostgreSQL、Redis、RabbitMQ、MinIO 都以内置依赖提供,镜像可预先导入网内仓库;授权是本地验签的签名文件,不联网激活;服务端不内置遥测。运维面提供 systemd 单元生成与健康探测工具,指标走标准 Prometheus 接口接入网内监控。
隔离环境的验收建议照清单逐条做:装机后抓一段出口流量确认零外联,升级演练先在镜像环境走一遍离线包与回滚,再把坐席工作台与 Web 客户端分发给使用者。
常见问题
物理隔离环境下手机端还能用吗?
客户端可以连接网内服务端使用,但离线推送依赖苹果 / 安卓厂商通道,在完全隔离的网络里不可用——所以隔离场景的通行做法是以 Web 与桌面客户端为主要接入形态,移动端用于可触达网关的环境。
不联网怎么升级版本?
用离线包:发布产物是 SKU 化的 tarball 与容器镜像,可以经介质摆渡进网内仓库后升级;升级前先在镜像环境验证,数据库迁移有专门的迁移工具与基线模式支持存量库接入。
license 需要联网激活吗?
不需要。商业授权是签名文件,验签公钥在构建期内置,运行时在本地完成校验,全程不连接厂商服务器。
延伸阅读
竞品对比选型
/compare/ →Docker Compose 生产部署
/docs/deploy-docker-compose/ →自建聊天服务器:选型与架构
/docs/self-hosted-chat-server/ →私有化客服系统:为什么以及怎么选
/topics/self-hosted-customer-service/ →Self-hosted live chat:自托管在线客服指南
/topics/self-hosted-live-chat/ →私有化 AI 客服:自托管智能客服选型指南
/topics/self-hosted-ai-customer-service/ →READY TO OWN THE CONVERSATION?
带上你的部署规模, 一起算清需要几台机器
告诉我们并发连接、日消息量和部署环境,我们会给出明确的版本与架构建议。
通常一个工作日内回复