安装部署 Office Online Server 集群

既然是集群,首先将域控变成两台:

将AD2加入域中,服务器角色中添加AD域服务,然后将其提升为域控,选择添加到现有域。

集群嘛,多安装几台 Office Online Server,但不导入SSL证书。

在第一台上用管理员打开PowerShell部署 Office Online Server farm

New-OfficeWebAppsFarm -InternalUrl "https://officeonline1.ad.local" -ExternalUrl "https://officeonline.nju.edu.cn" -SSLOffloaded -EditingEnabled

在其它台上用管理员打开PowerShell加入 Office Online Server farm

New-OfficeWebAppsMachine -MachineToJoin "officeonline1.ad.local"

在PowerShell中查看所有节点的状态

(Get-OfficeWebAppsFarm).Machines

前端 Nginx 负载均衡卸载SSL

upstream officeonline {
	ip_hash;
	server 192.168.1.11:80;
	server 192.168.1.12:80;
	server 192.168.1.13:80;
}

map $http_upgrade $connection_upgrade {
	default	upgrade;
	''	close;
}

server {
	listen 80;
	listen [::]:80;
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
	server_name officeonline.nju.edu.cn;

        include ssl/nju_edu_cn.conf;

	location / {
		proxy_pass http://officeonline;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection $connection_upgrade;
		proxy_cache_bypass $http_upgrade;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Real-PORT $remote_port;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
	}
}

安装部署单台 Office Online Server

Office Online Server 必须加入域,且不能装在域控上,因此先装两台带桌面体验的 Windows Server 2022 并升级。

第一台用来做域控,给2C/4G的资源就够了,服务器角色中添加AD域服务,然后将其提升为域控,如添加新林的根域名为 ad.local

第二台用来装Office Online Server,要多给资源,首先将其DNS改为域控的IP,加入域并重启。

用管理员打开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

安装如下依赖软件,部分软件在Windows 2022中已经存在(.NET和VC++ 2015),安装程序会有提示直接退出,这个没关系

安装 Office Online Server ,当前版本是2018年11月发布的16.0.10338.20039

0a764830ee8cca9a92f749c9a6a9cd6a0e99e592 en_office_online_server_last_updated_november_2018_x64_dvd_1b5ae10d.iso

Microsoft Download Center下载语言包,在下载页面切换语言可以下载不同语言的语言包,当前是2018年11月发布的语言包,将多个语言包依次安装

87b77a9abf29cf11e95f74c07fb7419026882c05 wacserverlanguagepack-20181129cn.exe
33965054f9e93f6429cf3022dea0f6a575f8d178 wacserverlanguagepack-20181129en.exe
0432a9b8a27b7f56692e37c117b8cf79c45458fa wacserverlanguagepack-20181129tw.exe

Microsoft Update Catalog查找下载最新的Microsoft Office Online Server 服务器场部署安全更新,当前版本是2022年11月8日发布的KB5002276,安装时也会自动更新语言包

5abacedb0f21d8629a0a0eab1b4d163ca0228f96  wacserver-x-none_5abacedb0f21d8629a0a0eab1b4d163ca0228f96.cab

在MMC控制台-证书(本地计算机)-个人中导入pfx格式含私钥的HTTPS证书,注意IIS不支持双证书,因此考虑兼容性导入RSA证书,导入后右击证书属性,设置友好名称(如nju.edu.cn)

用管理员打开PowerShell部署 Office Online Server farm

New-OfficeWebAppsFarm -InternalUrl "https://officeonline.ad.local" -ExternalUrl "https://officeonline.nju.edu.cn" -CertificateName "nju.edu.cn" -EditingEnabled

在PowerShell查看详细配置

Get-OfficeWebAppsFarm

GPFS Windows CIFS共享问题

GPFS的盘在Windows 2008及以上版本上用CIFS共享出去,当GPFS的盘里面文件发生变化时(如增加删除),某些Windows Vista及以上版本的客户端无法看到这些变化,即使刷新也不行,必须在客户端上面建立或删除文件才能看到,而如果这个共享是Windows自己的硬盘上的则没有这个问题。

这里IBM说明了,从SMBv2(Vista和2008开始)开始引入了一个新的特性,客户端可以对文件和文件夹的metadata进行缓存,刷新这个缓存依赖于目录变更通知,但是GPFS的在Windows上面不支持这个功能,所以客户端并不知道目录中的文件发生了变化。解决方法也很简单暴利,直接关闭SMBv2回退到SMBv1即可。这里详述了打开关闭各个版本SMB的办法,对于Windows 2008 (R2)来说就是在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters下新增一个SMB2的DWORD为0的值,需要特别注意的是Windows 2008 HPC版本不支持这个注册表项目,添加后会导致共享整个就没有了。在这里详述了各个版本的Server Client之间会使用什么样版本的SMB,和在Windows 8/2012怎么查看SMB的版本。

Windows XP远程桌面6.1

WindowsXP-KB952155-x86-CHS.exe

打开注册表编辑器,进入“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa”,双击右侧的“Security Packages”,打开“编辑多字符串”对话框,在列表框中添加“tspkg”的内容,原有的内容则不用更改。进入“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceProvider”,双击右侧的“SecurityProviders”,打开“编辑字符串”对话框,在数值数据框中添加“, credssp.dll”。重新启动计算机,打开远程桌面连接,可以在“关于”窗口中看到“支持网络级别的身份验证”的信息。