2026 Office Online Server (全网最新/最详细/含问题修复) 终极部署教程

2026 Office Online Server (全网最新最详细含问题修复) 终极部署教程

版权声明:本教程为原创文章!教程内的所有图片为实机录制,未经许可严禁转载全文或者文章部分内容。
本文使用 windows server 2022 部署,在 2025 年 12 月实机部署测试,可谓全文最新最详细的,所有步骤都有截图,欢迎交流学习!
网上大部分文章都是 2012 的老掉牙版本,而且甚至还有机翻官网文档的,强烈建议大家按照本文最新的方法部署!

欢迎前往博客阅读:Office Online Server 部署教程

一、背景 + 效果展示

1)背景介绍

说实话,我馋微软的 Office Online Server 很久了,为什么?因为我们交大也在用:Webview SJTU,但是这个网站之前是可以预览外部 URL 的文件的,不知道可能后来被滥用的多了,就增加了额外的限制,只允许预览交大内部 canvas 文件 Office。他的界面就长这样,很简单,也很微软。这也是我很喜欢微软还有国外一些软件的原因,相比较国内各种流氓弹窗软件、开屏广告,微软的网页做的真的非常人性化,尽管他还是一个 2016 年甚至更早的的软件,但是依然非常优雅放在今天:

回到正题,相比较网上各种"杂牌"Office,包括但不限于 WPS、Only Office、Liber Office 等,你会发现你的文档永远会出现格式不一样的问题。但是微软的 Office 之所以是标杆,因为大家都在用,你不可能因为部门里面自己或者个人习惯,用 WPS 或者其他 Office 预览商,结果就很显而易见,别人打开你的文档后,就是格式乱的一团糟。

毕竟,丢失了格式的文档,可以说丢失了排版的灵魂,完全不能说是一个合格的文档,所以有一个权威的排版预览文件,会是非常方便的!

但是国内基本很难找到一些 Office Online server 的教程,有也是很老的版本,大部分都会告诉你你需要下载 Windows Server 2012 R2 然后安装,但是这个系统最逆天的还是 IE 浏览器,操作起来非常困难。

其实我的建议是不要看网上各种教程,很多都已经过时了!一些基于 Windows Server 2012 部署的可能会存在各种打补丁的教程,而且最离谱的是:他们会说你不能使用更新版本的 Windows Server,比如 2019 2022 部署!但是我实测发现是可以的,所以我们要相信微软的官方文档。

一句话:跟准微软官方文档教程:部署 Office Online Server - Office Online Server | Microsoft Learn

2)一些开始前疑问

有些朋友可能跟着网上的教程部署完了还是有各种疑问,所以我们在开始前解答明白。

问题一:这个东西是否需要 License?网传编辑是需要额外 License 吗?

回答:从安装部署的角度,完全不需要 ,但是企业要是部署合不合规请自己参考微软的官方说明。我只能说这个东西只要有安装包就可以全流程安装,并且全功能解锁,不需要任何密钥、不需要任何导入 License 过程,但是是否合规请根据自己的企业情况。本教程不对违规部署造成的损失或者赔偿负任何责任。

网上之前有人说这个软件的编辑是需要 License 的,实际上只是在你开启编辑功能的时候,会在命令行里面问你是否有 License,如果你输入 Y,微软就默认相信你有 License 了。

问题二:从哪里获取到 Office Online Server 的官方安装文件?

回答:这个并没有。官方现在已经把可以公开下载的链接基本都移除了。按理来说,这个应该是给购买的批量的企业用户。

以下内容摘自官网的解释

可以从批量许可服务中心下载 Office Online Server (VLSC)。 Office Online Server 是 Office 的一个组件。因此,它将显示在每个 Office 产品页面下,包括 Office 标准版 2016、Office 专业增强版 2016 和 Office 2016 for Mac 标准版。

对于许可证符合 OOS 条件但无法通过 VLSC 获取的客户,可以执行以下操作:

  • VL Open 客户可以联系支持中心
  • 从 Microsoft 在线购买 O365 的客户可以通过 Office 365 管理中心或联系支持人员提交请求。

目前:

  • Office Online Server 的更新包、Office Online Server 语言包都是可以官网公开下载的
  • Office Online Server 的软件本体几乎没有官方渠道,另外一个可以获取的官方渠道是 MSDN 的企业订阅(不是 MSDN 我告诉你,这个是个国内搭建的资源网站),所以只有网上各种流传的网络资源

问题三:有没有快捷部署的 Docker 方法?

回答:没有。必须安装在 Windows Server 上面。而且需要是带域控的 Windows Server,所以没有简单一键部署的 Docker,网上咸鱼部署的价格从 200~1600 不等。

问题四:怎么开启编辑功能?

回答:自建 wopi 或者使用开源网盘 Nextcloud 对接 Office online server 集成即可。其实我更推荐用后者,因为更稳定,有专门的开源社区维护。

问题五:有没有正版购入 Office Online Server 的渠道?

回答:参考这个链接:Office Online Server License Requirements - Microsoft Q&A

我也提交过工单,咨询国内的 Office online server,微软把我的工单移交给了微软批量授权中心,但是他们的回复比较勉强,你需要 Office 2016 标准版或者 Office 2016 Pro Plus(专业增强版),然后建议我联系本地的微软经销商。大概我的推测就是:这个东西并不提供给个人,需要企业购买批量的许可证,至于是 Office 2016 还是 Office 2019 甚至是最新版的 2024 呢?其实具体是和经销商谈的或者沟通,经销商可以在购买的合同里面商榷到底包不包含 Office online server,其余的话并没有合法的获取途径。

另外这个软件马上也要寿终正寝了,微软宣布 2026 年 12 月停止支持 Office online server。以下是我和国内经销商的沟通截图:

问题六:最新版本是什么?我有强迫症必须安装最新版!

回答:2018 November,目前仍然可以受到微软的维护。以下是所有的版本:

内部版本 可用性日期 支持结束日期
16.0.6814.2226 2016 年 5 月 4 日 2016 年 11 月 18 日
16.0.7601.6800 2016 年 11 月 18 日 2017 年 4 月 18 日
16.0.7766.8550 2017 年 4 月 18 日 2017 年 11 月 8 日
16.0.8471.8525 2017 年 11 月 8 日 2018 年 11 月 30 日
16.0.10338.20039 2018 年 11 月 30 日 待定

3)功能介绍和效果展示

Office Online Server 是一个可以私有部署的云服务器组件,可以用来在浏览器中预览和编辑微软的 Office 文档。因为出自微软,所以在格式和兼容性上有着其他第三方预览服务不可媲美的优势,这也是国内很多学校和企业选择 Office Online Server 的原因。

其实,微软官方提供了一个 API 服务:https://view.officeapps.live.com/op/view.aspx?src=​,你只需要在 src 后面填写你需要预览的文件的互联网 URL 就可以,前提是这个文件必须是公网可以访问,而不是你私有的局域网的某个链接文件。

以下是演示预览数学 Office 文档的效果:

演示编辑语文文档的效果(编辑效果其实一般),但是也比其他的软件好很多了:

演示编辑 PPT 效果:

演示表格预览和编辑效果:

虽然不能说做到和桌面端完全一样的效果或者预览精确度,但是从体验上来说可以说几乎完爆现有的解决方案了。

二、部署教程

我这里演示我使用群晖的 VMM 虚拟机管理套件进行安装 Office Online

1)准备安装资源

需要准备的资源有:

可能你还需要一个电驴下载器,比如迅雷或者其他的下载器,下载资源界面:

关于 Windows Server 2022 我是在这里下载的:

其实安装完成之后,我还发现一个可以下载 Office Online Server 最新版的网站,可前往:voxMicrosoftCollection directory listing(需要自行解决上网问题),这里面有最新版 Office Online Server 2018 November 的安装包,这个版本的安装包至今还是可以获取到微软的最新更新维护的。(离谱吧,你甚至可以在这找到全语言版本的)

其实这里给大家介绍一下,国内那些资源网址基本都给你的是 Office 2016 或者 2017 的安装包,这些安装包比较老,没法获取到微软最新的补丁安装,所以嘛,如果可以的话尽量安装最新版。

大家在下图界面下载中文版 CN 开头的就可以!

2)创建虚拟机系统

Office Online server 只能部署在 Windows Server 上,按照微软官方的说明。我个人一般用的群晖虚拟机集群管理我的虚拟机,大家可以根据自己的喜好,使用 VM Ware 或者其他工具。VM Ware 一般来说选择好镜像之后就自动会给你推荐好虚拟机的配置,只需要注意一件事:网络选择桥接模式就可以了。我这里用群晖的虚拟机给大家演示一遍装系统。

首先是创建虚拟机:

然后配置虚拟机的参数,我这里配置的是 4 核心 CPU + 8 GB 的内存(建议起步 2 核心,内存 4GB 可能会有点卡),我这里选择的是 Q35 的机器类型,然后视频卡是 VGA:

存储空间配置为 80 GB,设置我没有点,保持默认的设置,同理后面的网络也是默认的下一步就可以。

然后,记得选择启动 ISO 文件为你的 Windows Server 镜像,然后其他 ISO 文件是群晖的 VMM Guest Tool:

用同样的方法配置两次,基本配置是一样的操作就可以了,配置好如下图所示,然后开机,我们需要两台虚拟机:

  • 一台虚拟机 Master,作为域控
  • 一台虚拟机 Webview,作为 OOS 运行的服务器
  • 后面我们的文章就用 Master 和 Webview 作为这两个的称呼了

然后我们就可以在 VNC 里面看到启动后的 Windows Server 安装了。

3)安装 Windows Server 2022

点击现在安装:

点击我没有产品密钥:

点击最后一个,一定记得要选择带:Desktop 的,否则安装下来没有图形界面,后面基本没法操作

点击勾选同意协议,然后点下一页:

点击自定义:

选择你的磁盘,然后点击下一页:

等待安装完成:

安装完成等待重启:

重启之后就到了设置密码的界面,根据你自己的需要设置密码:

然后我们就进入桌面了,如果是第一次使用的朋友可能不知道,微软的 Windows Server 需要按 Ctrl + ALt + Delete 解锁桌面,这个在 VNC 左边的这个按钮(依次点击 A、然后 Esc 下面的那一个按钮就可以送出这个这个类似"任务管理器"的快捷键,点一下就行):

然后输入你刚设置的密码:

然后我们可能需要安装群晖的 VMM Guest Tool,具体可以在映像-> ISO 文件 -> 下载 Synology Guest Tool 里面:

如果我们可以通过编辑虚拟机,把其他 ISO 设置为 VMM Guest Tool 镜像:

在虚拟机里面打开我的电脑,进入 E 盘安装:

安装:

安装完成就是,然后需要重启电脑:

等待重启:

用同样的方式给两台虚拟机安装好系统即可。安装完成驱动后,你应该能在虚拟机的管理界面看到两个虚拟机的 IP:

这里注意你的虚拟机必须是直接连的上层的物理网络,也就是 VMware 里面的网络配置的桥接网络选项。我们需要看到虚拟机的 IP 是和路由器里面正常内网的 IP 网段是一样的才可以。具体界面如下所示(我这里是随便截图的一个 VM ware 的桥接模式)

后面我们就用 Master 和 Webview 称呼这两台服务器

  • Master:我们的域控服务器,负责控制集群里面的域名解析
  • Webview:我们要安装 Office online server 的服务器

这两台服务器的并不能合二为一,因为微软官方规定的 Office online server 不能安装在域控服务器上面,所以后面操作有的是两个都要执行的,有的是只需要执行一次的,我会写的很清楚,大家仔细看!

4)安装 AD 域

本小结部分的操作需要在两台服务器 Master 和 Webview 服务器上++都执行一遍++。

首先我们打开服务器管理器:

点击添加角色和功能

下一步:

还是直接下一步:

就这一个服务器,还是直接下一步:

然后勾选:

然后点击添加功能

然后这一页我们什么都不管,直接下一步:

还是下一步:

直接点击安装

等待安装完成:

完成后,本部分安装到此结束,注意这个操作到这里是两台服务器都要执行的!

5)给 Master 提升为域控制器

特别注意:本操作只能在 Master 上执行,另外那台 Webview 服务器,到上面的步骤你点默默退出叉掉就可以了。

在 Master 服务器上,点击将此服务器提升为域控制器

选择添加新林、然后输入你的根域名,注意,如果你自己有一个域名,其实最好不要填这个域名,尤其是你可能在公网上面有单独的解析的域名,最好填写一个有点不一样的,比如加一个 internal 之类的,避免内外网解析的冲突。

填写完成后点击下一步:

然后这里需要设置一个密码:

直接点下一步,不用担心:

这里也是直接下一步,他都为我们设置好了:

直接下一步

直接点击下一步

等一会先决条件检验,然后点击安装

然后服务器会需要重启一下:

6)给 Webview 服务器配置 IP

特别注意:本操作只能在 Webview 上执行。

前面我们在虚拟机管理界面看到的 Webview 的 IP 是 192.168.3.13,如果不确定你可以打开命令行 Power Shell 输入 ipconfig 查看一下(找不到命令行的去开始菜单找):

从开始菜单进入控制面板,然后进入 网络和 Internet、进入网络共享中心:

然后进入到这里,点击以太网:

我这里是建议**++先把 Internet 协议版本 6 的勾选删除++ 掉,因为很可能导致解析错误,然后再 点击 Internet 协议版本 4**、然后点击属性

然后按照这样填写:

  • 记得勾选使用下面的 IP 地址(根据你的实际填写)
  • 上面的第一个 IP 地址添加你 Webview 服务器的 IP,然后子网掩码根据你路由器,默认是点一下自动弹出来的
  • 默认网关填写你路由器的 IP(根据你的实际填写)
  • DNS 这里记得填写域控服务器的 IP(根据你的实际填写)
  • 这里万万不可照搬!记得根据你虚拟机获取到的 IP 填写!
  • 备用 DNS 可以不填

上面的步骤完成后记得点确认保存,然后我们打开系统设置,划到底部打开高级系统设置:

然后依次打开系统属性里面的更改,然后右边的:

  • 计算机名最好填写 webview
  • 隶属于:填写你刚给 Master 提升为域控制器中,添加新林时候填写的的域名

然后会弹出登录:

  • 用户名输入:Administrator(也不知道哪个大聪明想出来这么长的名字)
  • 密码输入你创建虚拟机的时候,管理员的密码,其实你最好让两个虚拟机的密码一样的,不然很麻烦区分

等待片刻,可以获取到加入成功的消息,才表示加入成功,如果你没有成功,建议重启你的 Webview 服务器,然后重新执行:

然后老老实实重启吧:

7)在 Master 服务器中添加 Webview 服务器

特别注意:本操作只能在 Master 上执行。

接下来我们回到域控服务器里面,然后在服务器管理器里面,右键点击所有服务器,然后添加服务:

然后点击查找就可以:

双击 Webview 就可以添加:

顺利的话你应该可以看到:

注意一下这里如果发现联不上,比如你在阿里云这种环境,很有可能是内网的安全组防火墙没有打开端口,记得去防火墙放行一下端口。

接下来我们专治强迫症,右键这里可以启动性能计数器:

启动之后就是完美的了!

8)(可选)给 Webview 虚拟机开启远程桌面

这个操作你可以根据实际情况哈,如果你习惯或者会使用远程桌面,可以在设置里面打开,然后用你习惯的远程桌面链接,如果不会就老老实实里面执行吧:

9)在 Webview 里面安装必要组件

特别注意:本操作只需要在 Webview 上执行。

既然 Windows server 里面有浏览器,都可以直接打开搜索微软官方文档,然后找里面的命令行教程:

然后我们第一条要执行的命令就是(因为我们用的是 Windows Server 2022,大家复制的时候看清楚):

powershell 复制代码
Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,NET-Framework-Features,NET-Framework-45-Features,NET-Framework-Core,NET-Framework-45-Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-WCF-HTTP-Activation45,Windows-Identity-Foundation,Server-Media-Foundation

然后等待安装,这一步要的时间比较久,需要耐心等待哦:

完成后应该是这样:

然后按照官网说的,还需要安装以下软件:

实测第一个没法装,第二个第三个你选 x64 安装就可以,然后第四个可以直接装,这里我就不演示了。

10)安装 Office online server

特别注意:本操作只能在 Webview 上执行。

这里我是直接改了 Webview 服务器的 ISO 镜像,你可以根据使用 VMware 或者其他平台修改:

然后打开电脑就可以看到,或者你自己去下载,或者把 iso 传输进去,按照你喜欢的方式来,反正这个系统双击 iso 的时候是默认装载的镜像的哦:

接受协议,然后继续:

然后默认的继续:

等待安装完成:

完成:

11)启动 Office online server

然后我们要执行命令,注意这里的 Internal URL 是刚刚我们 Webview 的 Hostname 和创建的新林组合起来的域名:

powershell 复制代码
New-OfficeWebAppsFarm -InternalURL "http://webview.ayaka-internal.space" -AllowHttp -EditingEnabled

执行效果如下,他会提示你的是否允许编辑,实测并不会要你输入微软密钥或者 License:

然后接下来,我们要允许从互联网的 URL 读文件,需要执行下面命令:

powershell 复制代码
Set-OfficeWebAppsFarm -OpenFromUrlEnabled

然后我们在浏览器里面输入刚刚的域名,就可以看到部署已经成功完成!

到这里已经结束了基本,最后我们还需要去安装 Office Online Server 的语言包,下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=51963

安装过程和前面的基本一样,我这里就省略了:

三、问题调教教程

1)测试 Web URL 预览

虽然安装到前面就结束了,其实还有很多问题。首先是设置一下外网访问地址,以便 FRPC 内网穿透

powershell 复制代码
 Set-OfficeWebAppsFarm -ExternalURL https://<你的外网访问地址>

然后我建议你在自己的阿里云 OSS 里面,新建一个 S3 存储 ,然后上传一个 Office 文档文件,看看能不能预览,理论是可以的。大家不要直接在互联网随便搜索一个 URL 里面带有 docx 的文件,很有可能打不开 ,++因为 Office Online Server 默认不支持 TLS 1.2 和 1.3 以上的版本++!

具体方法可以打开阿里云的 OSS 管理控制台,创建一个存储桶,然后上传一个自己的文件:

注意这里不要开启 TLS 版本设置,或者开启,但是需要勾选允许 TLS 1.0 的版本:

然后记得检查是否开启了阻止公共访问,需要允许公共访问:

然后把你上传的文件的 URL 复制到 Office online server,然后点击预览:

另外还有一种方法,通过共享 windows 的文件夹,然后预览,就是输入类似 \\server1\web\test.docs ​的方法,这种方法叫做 UNC 路径,具体参考微软官方的文档:使用 Microsoft Office Online 或 Office Online Server 查看器测试查看 Office 文档 - Microsoft 365 Apps | Microsoft Learn

在驱动器 C 的根目录中创建名为"Test"的文件夹(C:\Test\Test1.xlsx)。 如果此位置位于另一台服务器上而不是 WAC 服务器上,则需要与 WAC 服务器( 计算机 帐户)共享此文件夹,如下所示(微软本身图就是这么模糊,清朝画质):

然后在 generate.aspx 页中输入工作簿的 UNC 位置(\\<Servername>\test\test1.xlsx)。 在以下示例中,UNC 位置为"\\wacserver\test\test1.xlsx"。

2)开启 TLS 1.2 支持(特别重要)

前面我让大家用阿里云 OSS,就是因为 OSS 这个好像可以支持 TLS 1.0,但是现在网上很多资源都是 TLS 1.2 以上。所以很麻烦。

还是在强调一遍,有些朋友可能接下来会在互联网上面,或者自己的云盘上面找一个直链,然后喂给这个 Office Online Server,但是突然发现没法预览,这个原因是没有开启 TLS 1.2 ,具体操作:在 Office Online Server 中启用 TLS 1.1 和 TLS 1.2 支持 - Office Online Server | Microsoft Learn

将 TLS 1.1 和 TLS 1.2 及更高版本与 Office Online Server 配合使用需要在 .NET Framework 4.5 或更高版本中使用强加密。 若要在 .NET Framework 4.5 或更高版本中启用安全系数高的加密技术,请添加以下注册表项:

text 复制代码
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\.NETFramework\\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\.NETFramework\\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

具体搜索注册表编辑器

打开之后一个个路径找,新建一个 DWORD:

然后就是把名词和具体的值改成上面列表里面说的。直接值输入 1 然后确定就可以。

text 复制代码
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\.NETFramework\\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\.NETFramework\\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
3)图片剪切板支持

默认 Office Online Server 是不支持图片的粘贴编辑的,需要手动打开,具体参考:

powershell 复制代码
Set-OfficeWebAppsFarm -PicturePasteDisabled:$false
4)FRP 内网穿透功能

去 Github 下载 Releases · fatedier/frp 的客户端。然后按照网上的教程配置好远程服务器的 FRPS 和 FRPC。这里我有点不是很想再把这个功能炒旧菜炒一遍。

  • 去你有公网的服务器上配置好 frps 的服务端(比如暴露在 http://8.8.8.8:8888
  • 在 webview 服务器配置 frpc 的客户端,并把配置文件填好

这里给大家一个 frpc 的模版(frps 大家自己搭建吧)

ini 复制代码
[common]
server_addr = 8.8.8.8 ;填写你frps服务器 IP
server_port = 7000    ;填写你frps服务器的运行端口,一般是 7000
token = xxxxx         ;这个保密,如果你frps开启了token认证

[webview]
type = tcp
local_ip = webview.ayaka-internal.space
local_port = 80
remote_port = 8888     ; 填一个远程服务器没有用到的端口

然后我们启动 frpc​,注意 frpc.ini 的配置文件应该放在同级目录:

然后我们要修改配置,内网穿透必备选项,把 SSL offlod 打开,卸载到 Nginx 或者负载均衡:

powershell 复制代码
Set-OfficeWebAppsFarm -SSLOffloaded:$true

然后把你的 InternalURL 和 External URL 全部设置为外网访问的 URL(可以是 Https)。其实上面那个步骤做完之后你将无法从 InternalURL 访问到你的 Office Online Server 了!

text 复制代码
Set-OfficeWebAppsFarm -InternalURL https://<你的外网访问域名>

然后在你的 Windows 上面启动 FRPC 客户端。之后我们回到 FRPS 服务器,我们配置 Nginx:

nginx 复制代码
server {
    listen 443 ssl;
    server_name <你的外网访问域名>;

    ssl_certificate <证书路径自己改>;
    ssl_certificate_key <证书路径自己改>;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    client_max_body_size 0;

    location / {
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
        proxy_read_timeout 300;
        proxy_set_header Host $http_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-Host $http_host;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;

        proxy_pass http://<你的外网访问域名>:8888;
    }

}

#http forced jump https http强制跳转https配置
server{
    listen 80;
    server_name <你的外网访问域名>;
    rewrite ^(.*)$  https://<你的外网访问域名>;
    location ~ / {
    index index.html index.php index.htm;
    }
}
5)允许出站 Http

没什么好说的,如果你需要你的 OOS 访问一些 http 资源,就把这个打开。

powershell 复制代码
Set-OfficeWebAppsFarm -AllowOutboundHttp:$true
6)集成 Nextcloud 部署

这部分我就简单写写吧,参考官网 nextcloud/docker: ⛴ Docker image of Nextcloud:记得自己指定密码变量 MYSQL_ROOT_PASSWORD​ 和 MYSQL_PASSWORD

yaml 复制代码
services:
  # Note: MariaDB is external service. You can find more information about the configuration here:
  # https://hub.docker.com/_/mariadb
  db:
    # Note: Check the recommend version here: https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server
    image: mariadb:lts
    restart: always
    command: --transaction-isolation=READ-COMMITTED
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=
      - MYSQL_PASSWORD=
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  # Note: Redis is an external service. You can find more information about the configuration here:
  # https://hub.docker.com/_/redis
  redis:
    image: redis:alpine
    restart: always

  app:
    image: nextcloud
    restart: always
    ports:
      - 8080:80
    depends_on:
      - redis
      - db
    volumes:
      - nextcloud:/var/www/html
    environment:
      - MYSQL_PASSWORD=
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

volumes:
  nextcloud:
  db:

然后打开 Nextcloud,在右边的应用里面进入:

然后在这里安装:

安装好之后,在这里输入你的 Office Online 的地址,最好是带 https 的:

然后你就可以在预览里面看到你的 Office 文件了,随便上传打开一个文件:

7)手机移动端视图诡异

微软的这个 Office online server 端的移动视图做的很不友好,虽然可能很早之前希望有一个这样的移动阅读器,但是真实体验在手机上阅读就是灾难级别的。所以作为一个 workaround,需要我们屏蔽掉这种手机视图。大家可以根据自己的需要,毕竟用一个体验诡异的预览试图,还不如改成电脑端的正常视图。

解决方案需要修改反向代理的 Nginx,在我现有的 Nginx 配置中 location / 里,直接加这一行即可:

nginx 复制代码
proxy_set_header User-Agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36";

最终效果:

nginx 复制代码
location / {
    proxy_connect_timeout 300;
    proxy_send_timeout 300;
    proxy_read_timeout 300;

    proxy_set_header Host $http_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-Host $http_host;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header X-Forwarded-Proto $scheme;

    # 🚨 一行强制桌面浏览器
    proxy_set_header User-Agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36";

    proxy_buffering off;
    proxy_pass http://webview.ayaka.space:45080;
}

然后执行:

bash 复制代码
sudo service nginx restart

然后在手机上打开一个预览效果,就可以看到明显发生了变化!现在和电脑端完全保持一致了。

8)限制允许拉取文件的主机

具体参考 New-OfficeWebAppsHost (officewebapps) | Microsoft Learn。有些朋友可以想限制 OOS 只能从特定的文件服务器拉取然后预览,避免被公网乱七八糟的别家占用,或者浪费自己硬盘空间,所以解决方法是:

powershell 复制代码
New-OfficeWebAppsHost -domain "file.contoso.com"

默认情况你可以通过:

powershell 复制代码
Get-OfficeWebAppsHost

查看,如果发现返回列表是空,那说明允许预览任何主机上面的文件:

9)添加字体

把电脑上的文件字体拷贝到服务器上,然后需要选中字体、右键为所有用户安装!不能直接拖动到 Windows 的 fonts 文件夹,否则可能不会生效。注意 OOS 需要使用的是 openType 的字体,也就是 otf,所以需要自行搜索转换方法。

具体可以参考:将自定义字体与 Office Online Server (OOS) 配合使用 - Microsoft 365 Apps | Microsoft Learn。注意:当你添加了自定义字体后,在网盘里面创建一个新文档并不会直接显示有可以用的自定义字体,需要手动设置字体名字和你自定义字体一样,才能显示。

但是,如果你上传一个文档,里面就自带这种自定义字体,就可以在最近使用的字体里面看到,但是在所有字体里面并没有。如果你要用自定义字体,就必须手动输入这个字体的名字,这个就是他最大的限制。

10)预览文档大小限制

OOS(office online server)默认对于打开文档大小有要求,默认不能打开 >10M 的文档。解决方案如下:

  • C://Program Files/Microsoft Office Web Apps/OperFromUrlHost/
  • C://Program Files/Microsoft Office Web Apps/OperFromUrlWeb/

将上述两个文件夹中的 Settings_Service.ini 文件进行修改,在其中填入并保存下面代码,512000 单位是 KB,大家根据实际修改吧。

powershell 复制代码
OpenFromUrlMaxFileSizeInKBytes=(System.Int32)512000

四、说说我的感想

Office Online Server 说实话真的部署起来很复杂。我在 2024 年秋季的时候折腾过一次,但是因为打不开外网的 URL 就从此放弃了,后来直到今年我重启了这样一个计划,才成功找到了跨越一年的问题,原来在于 TLS 1.2 没有开启。

顺便提一嘴,我发现中文互联网是一个很神奇的东西,大部分人都还是很依赖中文互联网解决问题,或者很相信网上的教程。就好比我,真的看到那么多教程说必须要用 Windows Server 2012,我就傻乎乎的跟着教程走,实际上 Windows Server 2012 老掉牙的 IE 浏览器使用实在过于困难,最新版的 2022 实测也可以部署。所以各位折腾爱好者,还是要多相信官方文档啊!社区教程很多时候都只是一个辅助。

尽管折腾复杂,只要你愿意折腾 + 大胆尝试,OOS 还是可以成功得到比较好的体验的。特别是集成网盘之后,你会发现自己得到了一个数据可控、私有性好、兼容性强大的在线浏览器 Office 软件。当然肯定也有人会说,为什么不用 Onedrive 自带的 Office 编辑,可能微软还在维护,兼容性更好,界面也更美观,但是其实我还是想说,数据只有存在自己的硬盘里面,才是最安心的。当然,具体选择什么还是取决于各位看官自己。

前文也已经提到过,Office Online Server 在 2026 年 12 月也将停止维护了,毕竟现在各家都在把服务上云,上云往往意味着更高的订阅费用,但是更优质的体验,像 OOS 这种 On-Primise 买断制的可部署服务,在未来可能越来越少了吧。

最后的最后,非常感谢:

相关推荐
爱吃山竹的大肚肚2 小时前
EasyPOI 大数据导出
java·linux·windows
公子无缘3 小时前
【Windows】关闭Windows Update自动更新2
windows
lzhdim4 小时前
C#开发者必知的100个黑科技(前50)!从主构造函数到源生成器全面掌握
开发语言·科技·c#
yong99904 小时前
基于C#与三菱FX5U PLC实现以太网通信
网络·c#·php
gugugu.4 小时前
Redis Set类型完全指南:无序集合的原理与应用
数据库·windows·redis
CreasyChan5 小时前
C#特性(Attributes)详解
开发语言·c#
历程里程碑5 小时前
C++ 9 stack_queue:数据结构的核心奥秘
java·开发语言·数据结构·c++·windows·笔记·算法
醇氧5 小时前
【Windows】从守护到终结:解析一个 Java 服务的优雅停止脚本
java·开发语言·windows
老赵聊算法、大模型备案6 小时前
2025 年 12 月北京市生成式人工智能服务备案分析:政务场景再扩容,合规生态更聚焦
人工智能·算法·microsoft·aigc·政务