# 数科0716旧版预览转换(不含签章)维护手册(Linux和信创)

适用Linux和信创系统

2024年9月

# 修订记录

修订内容 修订时间
调整服务器阶梯资源要求,不含签章配置要求低一些 2024-9-18
增加必备配置“sysctl开启内核ipv4转发等配置” 2024-9-20
增加常见问题“部分电脑预览转圈” 2024-9-20
增加预装tar等常用命令的提醒 2024-10-18

# 部署要求

本手册适用于部署《数科预览+转换服务部署手册》组合时使用,如果还要部署数科电子签章,请使用:《数科电子签章+预览+转换》。

特别注意:不含数科签章与包含数科签章的安装文件、部署方式、部署目录、授权注册、开放端口都有很大差异,请严格按照对应手册操作。

# 适用版本

数科在线预览集成适用于致远协同办公管理软件(A6+、A8+、A8-N、G6、G6-N)9.0SP1版本。

# 环境要求

特别注意:

数科服务不支持Windows系统部署(需要一台Linux系统的服务器)!

(不含签章版本)服务器最低配置要求:CPU>=8核 内存>=16G 目录空间>=200G

(不含签章版本)详细支持情况如下:

1726651274237.png

(不含签章版本)数科阶梯资源要求:

不同用户数对数科服务器配置要求不同,建设初期请按照OA同时在线人数申请与之匹配的服务器资源,后续再根据运行情况做灵活调配。

1730736052516.png

(不含签章版本)更详细的系统环境兼容、阶梯资源要求参考在线文档:https://docs.qq.com/sheet/DRndWeHhkYURBZWF0?tab=000007 (opens new window)

# 网络互通要求

使用数科功能,需要实现如下网络要求:

1、数科服务要与协同OA 服务网络互通

2、客户终端(使用数科在线预览和签章的电脑)需要能同时访问协同OA服务地址和数科服务地址。

3、如果客户端连接协同OA的协议是http,则连接数科的通协议也必须是http;同理,连接协同OA协议是https,则数科协议也必须是https。

4、如启用Https,证书需要客户采购,且证书不能绑定到任何IP上,证书需要绑定给指定域名。

如下是仅使用预览和转换时(不使用数科签章)服务对外用到的默认端口:

不含数科签章场景 默认端口 操作
协同OA服务 80 互通
数科预览 8080 互通
数科转换 8090 互通
客户端 All 互通

由于不同客户的网络环境不同(有的只用PC内网;有的PC和移动都放外网;有的M3和微协同都分开网络管理),不同场景的网络配置会有不同,产品提供了不同客户网络环境下的解决方案,请务必参考在线文档做网络配置: https://docs.qq.com/doc/DYUF2d2FuV214Y3Rl (opens new window)

如部署完成后,出现网络不通的问题,可通过如下方法进行网络连通测试:

首先,画出客户端、协同OA服务器、数科服务的网络关系,以及访问域名(或IP端口)。

然后,通过telnet命令检查IP端口连通性,示例"telnet 192.168.10.20 80"。

端口不通示例:

Linux:

[root@lbq data]# telnet 192.168.10.20 80
Trying 192.168.10.20...
telnet: connect to address 192.168.10.20: Operation timed out
telnet: Unable to connect to remote host

Windows:

Microsoft Windows [版本 10.0.22631.4037]
(c) Microsoft Corporation。保留所有权利。
C:\Windows\System32>telnet 192.168.10.50 80
正在连接192.168.10.50...无法打开到主机的连接。 在端口 80: 连接失败

端口正常连通示例:

Linux:

[root@lbq data]# telnet 192..168.10.20 80
Trying 192..168.10.20...
Connected to 192..168.10.20.
Escape character is '^]'.

Windows:

Microsoft Windows [版本 10.0.22631.4037]
(c) Microsoft Corporation。保留所有权利。
C:\Windows\System32>telnet 192.168.80.25 80

正常则跳转到黑色窗口光标有规律闪烁。

# 安装包获取

链接:https://pan.baidu.com/s/1tGwOsWuW3Ra9IVls_KI2oA (opens new window)

提取码: kusm

网盘具体路径:

X86环境:第三方应用>数科预览转换+签章>数科(预览+转换产品)X86环境

信创arm环境:第三方应用>数科预览转换+签章>数科(预览+转换产品)arm环境

注:认真看文件夹名称,不要下错成带"签章"的包了!

# 软件要求

数科服务依赖Docker容器,所有相关服务均安装在Docker下:

• docker

• docker-compose

安装包自带docker和docker-compose,安装过程中识别已安装docker组件会自动跳过,如不存在会自动安装。

已有的docker环境的建议要大于等于如下版本;

• Docker version 20.10.9, build c2ea9bc

• Docker Compose version v2.14.

# 服务部署

安装数科服务,建议以root身份执行部署,以普通用户执行时需要在命令前增加sudo以获取权限!

安装部署前,先确保当前系统已经安装了最基础的命令,可执行如下语句做预装:

# 使用yum命令安装,如当前系统提示yum不可用,则使用apt
yum install tar curl telnet vim -y

# 基于Debian的系统(如Ubuntu)使用apt预装组件
sudo apt update
sudo apt install tar curl telnet vim -y

# 检查服务器资源(必做)

安装前务必做好服务器资源检查:根目录空间>=200GB。空间过小,会造成空间不足导致安装失败!

推荐模式 Size Mounted on 备注
模式 >=200G / -

# 部署前关闭相关服务(必做)

关闭防火墙:

#停止防火墙
systemctl stop firewalld
#开机不自启
systemctl disable firewalld

关闭 selinux:

1、临时关闭 :输入命令 setenforce 0,重启系统后还会开启 。建议永久关闭。
2、永久关闭 :输入命令 vim /etc/selinux/config,将SELINUX=enforcing 改为SELINUX=disabled, 然后保存退出。

1730958893164.png

设置完成后,请重启一次服务器操作系统!

# sysctl开启内核ipv4转发等配置(必做)

以下操作必须,请按命令示例执行:

复制/etc/sysctl.conf一份命名为/etc/sysctl.conf.1,方便出问题恢复。

使用vi或vim命令编辑/etc/sysctl.conf文件,修改或添加如下配置:

cp -r /etc/sysctl.conf /etc/sysctl.conf.1
vim /etc/sysctl.conf

将以下配置信息放入sysctl.conf配置中(如果已有相同配置,则忽略)

net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-arptables = 1
vm.swappiness = 0
fs.inotify.max_user_watches = 1048576
# vi或vim模式增加配置后Esc再录入:wq保存(如不会使用vim请自行网上搜索)
# 保存后,再执行 sysctl -p 使修改生效(有的系统需要执行 service network restart)
sysctl -p
# 如果已经部署了服务,还需要重启docker引擎:
systemctl daemon-reload
systemctl restart docker

1726804202513.png

1726804341274.png

如果出现sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory错误,则表示"net.bridge.bridge-nf-call-iptables = 1"参数未生效

可以执行命令手动加载模块到内核:

# 先加载模块到内核
modprobe br_netfilter

# 再执行sysctl -p使修改生效
sysctl -p

# 上传安装包(必做)

首先将安装包上传到服务器/data/suwell路径下:

# 没有/data/suwell路径就新建对应路径:
mkdir -p /data/suwell
# 通过各种方式将安装包传到/data/suwell目录下,以下是从/tmp目录传过来:
mv /tmp/suwell-viewer-weboffice-seeyon-x86-0716.tar.gz /data/suwell/

特别注意:suwell-开头的安装包才是不带签章的,适合本部署文档;如果您下载的是dzqz-开头的安装包则表示下错了,这种情况不要用本手册部署,会有很多意料外的问题!

# 核对安装包完整性(x86)(可选)

本章节适合X86部署包的完整性核对,上传后核查部署包的完整性,数值对应不上的话需要重新获取部署包。

# 切换路径到/data/suwell
cd /data/suwell

# 查看部署包的MD5值
md5sum suwell-viewer-weboffice-seeyon-x86-0716.tar.gz

# 核对安装包完整性(arm)(可选)

本章节适合信创arm部署包的完整性核对,上传后核查部署包的完整性,数值对应不上的话需要重新获取部署包。

# 切换路径到/data/suwell
cd /data/suwell
# 查看部署包的MD5值
md5sum suwell-viewer-aarch64-seeyon-0716.tar.gz

# 解压安装包(必做)

以上步骤完成后,在/data/suwell目录下解压安装包:

特别注意:本手册适合suwell-开头的部署包安装部署;如果您下载的是dzqz-开头的部署包切勿使用本手册。

cd /data/suwell
# X86环境解压如下压缩包:
tar -zxvf suwell-viewer-weboffice-seeyon-x86-0716.tar.gz
# arm环境解压如下压缩包:
tar -zxvf suwell-viewer-aarch64-seeyon-0716.tar.gz

解压后的目录名为suwell-viewer-weboffice(如果发现解压后的目录名不对,请检查是否下了错安装包):

# 修改service.yml配置(必做)

下一步进入/data/suwell/suwell-viewer-weboffice目录,修改service.yml中的配置:

cd /data/suwell/suwell-viewer-weboffice
vim service.yml

通过vi或vim修改service.yml,找到resource模块:

provider: com.suwell.reader.resource.SimpleOFDResource前面增加一个#号;

#provider: com.suwell.reader.resource.HttpInfoResource 前面的#号删除掉;

通俗点说就是注释SimpleOFDResource,启用HttpInfoResource。

以上操作修改后,按键盘Esc键,输入:wq保存退出即可。

修改service.yml之后,在目录下执行如下命令:

cd /data/suwell/suwell-viewer-weboffice
执行如下命令:
source etcd_env

# 执行部署脚本(必做)

以上完成后,开始执行安装命令,在suwell-viewer-weboffice目录下执行一键安装脚本:

# 到安装脚本目录:
cd /data/suwell/suwell-viewer-weboffice
# 执行脚本安装:
bash install_suwell.sh

整个安装过程不用人为介入,如果当前系统没有安装docker,程序会自动安装;如果当前系统已经安装docker,程序会自动跳过进行下一步镜像导入:

如出现"基础服务启动正常"、"应用服务启动正常"后,则表示安装成功:

如果发现有警告提示,如下警告信息不影响功能,可以忽略。:

如遇到"xxx Error"的错误提示,则表示自动安装失败,这种情况建议先检查目录空间,如果磁盘空间不足会造成部署失败。遇到安装失败,只能先定位并解决问题,然后卸载服务,重新部署。

查看过程信息:no space left on device,典型的空间不足,参照服务器资源章节准备足够的资源空间,再重新安装:

这个空间太小了:

# 服务状态查看(必做)

通过docker ps -a命令查看数科服务状态,如果容器下所有服务状态是up表示正常:

查看数科服务运行状态:
docker ps -a

如果状态不是up,可以使用docker logs 查看日志信息联系数科支持人员排查。

# 通过docker log查看日志:
docker logs -n 500 对应docker ps -a的第一列容器id
# 示例如下:
docker logs -n 1000 ced6a915c0c0

以上完成后,就算部署完成,剩下就是获取机器码和放置授权。

# 授权申请和注册服务(必做)

# 授权申请步骤(必做)

数科服务部署完成后,才能进行授权文件申请。申请和注册授权总计需要进行两步:

第一步:部署人员按手册访问lic目录获取机器码,将机器码交给客户经理,客户经理申请到.lic授权文件后,部署人员将其放到lic目录并重启数科服务。

第二步:部署人员继续通过浏览器访问web-reader/lic获取第二次机器码,将第二次机器码交给客户经理,客户经理申请到.lic授权文件后,部署人员通过浏览器访问web-reader/lic注册第二次的.lic文件。

以上完成后,才能正常使用数科服务。

协同OA加密狗授权:使用数科预览转换,客户经理需要申请V5加密狗中增加插件:"在线预览集成插件",否则V5后台系统管理员进行流版签设置看不到对应菜单。

数科授权:正式授权文件需发起销售订单获取,试用授权文件需发起《客户产品申请单》获取,在表单中插件信息部分选择或填写"数科文档在线预览"。

1726320556100.png

# 获取lic目录机器码(必做)

进入授权工具目录/data/suwell/suwell-viewer-weboffice/lic,通过执行命令获取机器码,将获取的机器码发送给客户经理申请数科在线预览授权文件。

# 进入授权工具目录
cd /data/suwell/suwell-viewer-weboffice/lic
# 执行获取机器码命令
./createcode -c

# 如果在lic下执行./createcode  -c报错提示Error:-1,则继续按照如下方式获取:
chattr -R -i .FORBIDDEN/
rm -rf .FORBIDDEN/
./createcode -c

# 放置lic授权文件(必做)

注意:是整个文件名及后缀改为.lic,例如使用mv命令重命名:mv lic40.lic .lic

客户经理申请到授权后,将授权文件放到/data/suwell/suwell-viewer-weboffice/lic目录下。授权文件名字不是".lic"的话,必须修改为".lic"文件名。比如数科给的是名为"lic40"的文件,您需要将其改为名为".lic"的文件(不是lic40.lic)。使用ls -al可以查看到授权文件。

# 定位到授权文件目录
cd /data/suwell/suwell-viewer-weboffice/lic
# mv 授权文件到当前目录(这个只是示例,怎么拷贝到此目录看项目上自己的情况)
mv xxxxxx .
# 更名授权文件为.lic(这个只是示例,是否更名根据项目实际情况)
mv xxxxxx .lic
# 检查复核确认当前目录的隐藏文件是否存在.lic授权,存在则OK
ls -al

注册完成后,重启应用服务完成注册:

cd /data/suwell/suwell-viewer-weboffice
docker-compose -f docker-compose.yml  restart

这样表示重启完成。

# 浏览器注册预览服务(必做)

不进行本步操作,在进行在线预览时会有未授权字样的水印。

当前面lic目录的授权已经放入并重启服务。接来下就是进行第二次授权注册:访问数科服务地址 http://IP:8080/web-reader/lic 密码是suwell@123

正常情况下机器码是生成的,将机器码交给客户经理,联系获取数科的第二次授权文件(特别提醒,第二次授权文件与第一次lic目录授权无关,故不要拿第一次lic申请的文件去乱注册)。

拿到第二次授权文件后,按下图所示注册授权,直至显示"注册成功"为止:

到此服务部署启动完成,剩余的参考功能初始化手册进行签章初始化,初始化后才能正常对接OA。

浏览器访问获取注册码时,可能会遇到机器码全部0000000的情况,这种情况需要做下判断:

1、如果您没注册过lic目录授权,则需要先按手册要求注册授权后再获取机器码。

2、如果您已经确认放置过lic目录授权,并且重启过,则直接联系数科技术告知情况,获得支持。

如遇到重启后无法访问web-reader/lic的问题,可以稍等一会儿重试。如果还是不行,则尝试再次重启数科服务。如果还不行,则联系数科技术分析。

# 协同OA侧配置数科在线预览(必做)

# 前提要求

进行本章节操作前提:

  1. 已经完成数科服务部署、授权注册,已确认数科服务处于启动状态

  2. 已经在致远侧更新了数科集成依赖的加密狗授权

# 配置说明

登录协同OA系统管理员-系统设置-流版签系统设置。通过在线预览-选择数科预在线预览,来配置预览相关信息:

1729582142510.png

IP地址不能配置127.0.0.1,数科默认端口见"网络互通要求"章节的说明。

在线预览文件大小限制:超出限制就无法预览,默认5120KB/1024=5M文件,如果要调整为最大预览50M文件则配置为:51200

数科在线预览服务器地址:对应数科默认端口是8080,并且一定要在端口后追加/web-reader

注:以上端口适合不含签章服务场景,如果包含签章服务所使用端口不一样,需要看另一份手册。

数科在线预览转换服务器地址:对应数科默认端口是8090,端口后面不带任何内容

数科在线预览回调地址:对应协同OA的地址,端口后追加/seeyon,不要以/结尾

由于不同客户的网络环境不同,产品提供了不同客户网络环境下的解决方案,请务必参考在线文档做网络配置:https://docs.qq.com/doc/DYUF2d2FuV214Y3Rl (opens new window)

# 功能验证

以上完成后,进行功能验证,可以以普通用户的身份登录协同系统,上传附件,再尝试通过在线预览访问附件,判断预览有效性。

下图是没有获得授权的效果:

# 数科问题固定排查方法(必读)

如遇数科服务不可用,按如下固定方式做排查:

第一步:检查数科服务是否正常,通过docker ps -a命令查看数科服务是否全部启动

# 查看数科服务运行状态:
docker ps -a

找NAMES中包含suwell关键字的所有信息,检查STAUTS状态:

如果全是Up则正常,上报问题时,提供状态截图证明;

如果STAUTS存在不是Up的镜像,则参考"重启数科服务"章节,将数科服务重启再试;

如果重启后依然存在STAUTS不是Up的选项,则截图上报问题

第二步:检查授权是否正常

参考授权章节,直接访问数科授权页面 http://IP:8080/web-reader/lic 密码是suwell@123 查看页面是否正常。

如果显示"注册成功"则授权正常,上报问题时,提供注册成功截图证明;

如果没有显示"注册成功",请按照授权章节做完整的授权申请再检查;

如果确认已经完整授权申请,依然不生效,请提供lic目录机器码截图、.lic授权文件和浏览器授权文件,上报问题

第三步:检查service.yml配置是否正常

参考修改service.yml章节,检查service.yml中的resource模块

cd /data/suwell/suwell-viewer-weboffice
cat service.yml

如上图所示,如果HttpInfoResource最前面没有#号,而SimpleOFDResource最前面有#号则正常。上报问题时,提供配置截图证明。

反之则不正常,参考修改service.yml章节,调整配置,随后参考"重新发布"操作发布数科服务。

第四步:检查协同OA侧配置

参考协同OA侧配置章节,检查在线预览的配置是否正确。

1729648338880.png

数科在线预览服务器地址:对应数科默认端口是8080,并且一定要在端口后追加/web-reader

注:以上端口适合不含签章服务场景,如果包含签章服务所使用端口不一样,需要看另一份手册。

数科在线预览转换服务器地址:对应数科默认端口是8090,端口后面不带任何内容

数科在线预览回调地址:对应协同OA的地址,端口后追加/seeyon,不要以/结尾

不同客户的网络环境不一样,务必根据客户场景选择在线文档中合适的网络关系做配置 https://docs.qq.com/doc/DYUF2d2FuV214Y3Rl (opens new window)

如果项目上未查出问题,请提供配置截图及客户的网络场景,上报问题。

# 日常运维(可选)

本章节提供数科服务日常运维中常见的操作,如日常运维中涉及数科的启动、停止、卸载、重新加载、配置调整后重新装载、安装包更新,均可参考本章节。

# 重启数科服务

说明:1.停止服务时,先停止应用服务,再停止基础服务。

2.启动服务时,先启基础服务,再启应用服务。

本步介绍日常运维过程中,数科服务启停的操作步骤,如项目上需要进行服务重启,参照如下方案执行即可:

# 特别注意:一定要按步骤、按顺序执行
# 第一步:访问到部署目录
cd /data/suwell/suwell-viewer-weboffice
# 第二步:先停止应用服务
docker-compose -f docker-compose.yml stop
# 第三步:再停止基础服务
docker-compose -f docker-compose-tools.yml stop

# 第四步:启动基础服务
docker-compose -f docker-compose-tools.yml start
# 第五步:启动应用服务
docker-compose -f docker-compose.yml start

# 某一个服务启停

如需要启停某一个容器,则采用如下方法:

#单个服务重启
docker-compose restart 容器名
#单个服务停止
docker-compose stop 容器名
#单个服务启动
docker-compose start 容器名

# 卸载操作

本步不是初始安装必须的操作,只有遇到安装失败等问题,需要重新部署或重新发布,才涉及卸载操作。

卸载服务的顺序不能错,都是先应用后基础:

# 访问到部署目录
cd /data/suwell/suwell-viewer-weboffice
# 卸载应用服务
docker-compose -f docker-compose.yml down
# 卸载基础服务
docker-compose -f docker-compose-tools.yml down

# 重新发布

本步不是初始安装必须的操作,重新发布是表示重新装载数科服务到镜像中并启动,要做重新发布需要先进行"卸载"(参考"卸载操作"章节)。

完成卸载操作后,再参考"手动部署"章节,启用数科服务就完成了重新发布。

# 手动部署

正常情况下,可以跳过此章节。如某些特殊原因,将数科服务进行了卸载(docker x down),(又不希望全部删除重装)需要重新装载服务启动,则手工部署适合此问题处理。

先进入部署目录,加载环境变量:

# 访问到部署目录
cd /data/suwell/suwell-viewer-weboffice
# 加载环境变量(只需执行一次)
source etcd_env

以上完成后,导入镜像:

# 访问到部署目录
cd /data/suwell/suwell-viewer-weboffice
#导入镜像(重新发布时可以跳过此步骤),由于是多个镜像文件,使用循环加载,直接复制以下命令粘贴到终端执行即可:
for file in images/*.tar.gz; do
    docker load -i "$file"
done

注意复制粘贴后,不是没反应,需要耐心等待镜像装载完成

以上完成后,进行启动服务。启动服务时,必须先行启动基础服务,再启动应用服务。

# 特别注意:一定要按步骤、按顺序执行
# 第一步:访问到部署目录
cd /data/suwell/suwell-viewer-weboffice
# 第二步:启动基础服务
docker-compose -f docker-compose-tools.yml up -d
# 第三步:启动应用服务
docker-compose -f docker-compose.yml up -d
# 查看服务启动状态,如果全部up则表示正常
docker-compose ps

# 更新和重装

本章节介绍更新升级或重装数科程序方案,本手册仅适用于不含数科电子签章服务的场景。

先卸载数科服务,卸载顺序不能错,都是先应用后基础:

# 访问到部署目录
cd /data/suwell/suwell-viewer-weboffice
# 卸载应用服务
docker-compose -f docker-compose.yml down
# 卸载基础服务
docker-compose -f docker-compose-tools.yml down

卸载数科服务后,将数科整个安装包删除,随后再解压安装数科最新安装包:

# 切换路径到数科的suwell目录
cd /data/suwell/
# 删除suwell下的suwell-viewer-weboffice目录
rm -rf ./suwell-viewer-weboffice

如果删除出现"FORBIDDEN/01: Operation not permitted"这类提示,表示文件权限不足,还要进一步删除一下:

# 赋予文件权限
chattr -R -i /data/suwell/suwell-viewer-weboffice/lic/.FORBIDDEN/
# 再做一次删除
cd /data/suwell/
rm -rf ./suwell-viewer-weboffice

卸载和删除之后,先尝试重启下系统。

随后就是重新安装,如果您是更新最新部署包,则尝试先把最新包上传到服务器。重新安装步骤跟全新安装步骤一模一样,参照"服务部署"章节从头开始一步步操作即可。

重新安装后,需要重新申请更新数科授权。

# 服务SSL配(可选)

# 服务自带(可选)

数科预览服务配置https+域名方案 (nginx证书)

  1. 进入预览服务部署目录比如:
cd  /data/suwell/suwell-viewer-weboffice
首先 vim编辑 etcd_env ,完成后按 esc键 再输入 :wq 保存退出,注意修改内容前取消行注释。
export ETCD_HOST=$(hostname -I|awk '{print $1}')  这个如果客户没要求不用动
export ETCD_HOST=192.168.12.13 内外网,需要这里改成外网ip
export ETCD_HOST=dieppv.imp.pub.caep 域名访问,则改成域名
执行source  etcd_env

IMG_256

修改当前路径下 docker-compose.yml 和docker-compose-tools.yml这两个配置文件里增加上域名解析配置,如图1:

注:图1是标注的对应需要修改的文件

IMG_257

图2是表示需要增加的域名解析配置,这四个docker-compose的配置文件里每个服务模块都需要增加以下配置

extra_hosts:
      - "${HOST_YUM}"

IMG_258

docker-compose-tools.yml 按照图示例格式去加

IMG_256

vim weboffice.conf 增加几行配置

IMG_259

IMG_260

转换https代理配置:将以下配置复制到nginx.conf 文件里修改对应域名+https证书

server {
        # 转换服务https访问
        # 侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉
        listen 8099 ssl;
        server_name xietong.tfmct.com;
        ssl_certificate /etc/nginx/ssl/tfmct.com.pem;
        ssl_certificate_key /etc/nginx/ssl/tfmct.com.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
 
        error_log  logs/error.log;
        access_log logs/access.log;
 
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET,POST,OPTIONS,PUT,DELETE';
        add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
        location / {
                proxy_pass http://10.0.25.208:8090;
        }
 }

预览服务https代理配置:再预览server里加上这些配置

listen   8080;
        listen   8080 ssl;
        server_name xietong.tfmct.com;
        ssl_certificate /etc/nginx/ssl/tfmct.com.pem;
        ssl_certificate_key /etc/nginx/ssl/tfmct.com.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
    client_max_body_size 50m;
  1. 编辑 当前目录下 etcd.sh脚本 Endpoint 这里改成https

IMG_261

  1. 当前路径下编辑 docker-compose.yml sw_wr_office_domain 模块改成 https://域名:8080

IMG_262

即可 配置完成后需要卸载重新发布服务,请参考部署手册卸载重新发布

# 网络配置(可选)

网关设备或者代理设备配置ssl后转发到数科服务的http端口也行。

通过外部代理配置https转发到数科端口时,需要注意修改数科的配置 1.编辑 当前目录下 etcd.sh脚本 Endpoint 这里改成https

IMG_261

2.当前路径下编辑 docker-compose.yml sw_wr_office_domain 模块改成实际的外网地址 https://域名:端口

IMG_262

# 常见问题

# 参考手册部署了,预览不可用怎么办?

上报问题,不要一句话"部署不通",务必拿出分析过程截图供支持团队快速分析!

参考问题固定排查章节,逐个排查问题,并且截图证明配置正确,如果排查无果,将分析过程截图打包,上报问题由致远与数科支持团队分析。

# 缺少环境变量(手动部署)

解决方法:

在single目录下执行:source etcd_env (加载环境变量)

# 如何安装字体

注:字体涉及商业版权,需要客户或实施自行准备客户所需字体。

  1. 准备字体包(extfonts.zip),将字体包解压
unzip extfonts.zip

  1. 将字体包cp到suwell-viewer-weboffice-web-office-driver-1容器
# 查看容器
docker ps
# 拷贝字体文件
docker cp extfonts suwell-viewer-weboffice-web-office-driver-1:/usr/share/fonts/

  1. 加载字体
# 进入suwell-viewer-weboffice-web-office-driver-1容器
# 进入容器
docker exec -it suwell-viewer-weboffice-web-office-driver-1 bash
# 切换路径
cd /usr/share/fonts/

# 刷新系统字体
fc-cache -f -v

# 重启容器
docker restart suwell-viewer-weboffice-web-office-driver-1

# 修改默认端口

编辑docker-compose.yml配置文件,进入部署路径(按实际路径修改)如:cd /data/suwell/suwell-viewer-weboffice

vim docker-compose.yml

1.修改nginx 容器对外端口

8080端口根据需求更改

2.修改web-office-driver配置端口(可选)

# 进入编辑当前路径下etcd.sh脚本
vim etcd.sh

将minio端口,改成需要的端口

etcd.sh脚本中需要修改3个地方,找到Endpoint对应的这行

如下图

3.修改完毕之后,需要重新发布应用服务和基础服务

#卸载应用服务

docker-compose -f docker-compose.yml down


#卸载基础服务

docker-compose -f docker-compose-tools.yml down

#刷新环境变量

source etcd_env

#发布基础服务发布

docker-compose -f docker-compose-tools.yml up -d

#发布应用服务发布

docker-compose -f docker-compose.yml up -d

# docker网段冲突修改

修改docker默认网段

1、停止docker

systemctl stop docker

2、删除原有docker0网桥

ip link del docker0 down

3、vim /etc/docker/daemon.json,添加形如下内容

"bip":"192.161.20.1/24"

如果没有daemon.json文件,则新建
文件内容形如下
{
"bip":"192.161.20.1/24"
}
4、重启docker服务

systemctl restart docker

5、通过ifconfig 查看docker网段是否已经变

a7ff7ca4ac3d803d8d128b141b4eb98

# word预览正常,excel预览不正常

excel预览和word预览的实现方式有差异,采用了内外网配置方案,除了OA系统管理员账号流版签分别配置内外网地址外,还需要修改数科预览服务配置,具体操作参考如下步骤:

1、进入预览转换服务部署目录比如:(按实际路径修改)

cd /data/suwell/suwell-viewer-weboffice

如果包含电子签章+预览转换服务,路径一般为:(根据实际路径修改)

/data/suwell/dzqz-weboffice/suwell-viewer-weboffice

2、vim编辑etcd_env文件

export ETCD_HOST=192.168.12.13 这里需要这里改成外网ip(或者外网域名)

  • 此处仅输入ip或者域名,不填写端口、http://或者https://

编辑完成后按 esc键,输入 :wq保存退出

  1. 执行命令:source etcd_env

4、编辑当前路径下docker-compose.yml

sw_wr_office_domain 模块改成:http://外网ip或者外网域名:8080

  • 此处需要完整输入外网ip或者外网域名,需要写上http://或者https:// 及端口号,默认端口8080,如果修改过对外服务端口按实际端口填写。

5、修改完成后参考本手册章节重新发布服务

# 预览空白,重启提示:IPv4 forwarding is disabled

1726806281434.png

解决方案:见“sysctl开启内核ipv4转发”章节,在sysctl.conf中配置相关参数,随后重启数科服务。

# 部分电脑预览转圈,F12控制台显示Failed to read the 'localstorage' property from 'Window'

1726832901747.jpg

1726832888798.png

不是全部电脑有问题,个别电脑通过数科预览会一直转圈。

问题原因:这个是当前浏览器开启“无痕模式”或“隐私模式”导致,在浏览器隐私模式或无痕浏览模式下限制对localStorage的访问。

解决方案:就正常模式打开浏览器访问即可。不要用无痕模式。

# 数科预览excel文件中的图片加载失败

1729651768169.png

  1. 进入部署目录:/data/suwell/suwell-viewer-weboffice 执行此命令:source etcd_env

  2. 确认环境变量是否设置成功,执行:env

1729651936904.png

  1. 卸载重新发布即可
docker-compose -f docker-compose.yml down
docker-compose -f docker-compose-tools.yml down
docker-compose -f docker-compose.yml up -d
docker-compose -f docker-compose-tools.yml up -d
编撰人:het