文章目录
- 一、需求
- 二、配置
- 2.1 创建容器
- 2.2 进入容器
- 2.3 生成私钥和证书
- 2.4 测试访问
- 2.5 非生成证书方法(正规途径获取ssl证书)
一、需求
上篇文章介绍了如何搭建一个 onlyoffice
在线预览服务,但是我们实际场景调用该服务的网站是协议是 https
的 ,但是 onlyoffice
服务还没做配置,然后就无法调用。
详情请移步:快速本地化部署 OnlyOffice服务 ( Linux+Docker)
报错提示:
二、配置
2.1 创建容器
docker run -i -t -d -p 9000:443 onlyoffice/documentserver
2.2 进入容器
docker exec -it 容器ID /bin/bash
- 进入容器的文件夹
Data
下面:
cd /var/www/onlyoffice/Data/
- 在Data目录里建立
certs
文件夹:
mkdir certs
- 切换到
certs
文件夹
cd /var/www/onlyoffice/Data/certs
🎯上面几步很重要,我之前就是因为路径问题吃了大亏。
2.3 生成私钥和证书
在 certs
文件夹内操作,🎯注意,以下操作如果涉及到让你输入配置内容的可以 一路回车
,不用认真填写具体内容。
- #创建
私钥
openssl genrsa -out onlyoffice.key 2048
- #创建
CSR
openssl req -new -key onlyoffice.key -out onlyoffice.csr
- #用
私枂
和CSR
签发证书
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
- #用
dhparam
加密服务器密钥
openssl dhparam -out dhparam.pem 2048
上面四步操作完后,确认下是否生成了如下文件:
- 退出容器:
exit
- 重启容器:
docker restart 容器ID
2.4 测试访问
页面上可以设置 https 地址访问 9000端口即可,虽然会提示有安全风险,管他个球,能用就行。
2.5 非生成证书方法(正规途径获取ssl证书)
创建容器,注意,一定要是 xxxx:443
sudo docker run --name=onlyoffice --restart=always -i -t -d -p 9000:443 -v /home/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
容器卷映射 /home/onlyoffice/DocumentServer/data
文件夹创建一个 certs
文件夹 , 将 onlyoffice.crt
和 onlyoffice.key
两个文件放到里面,然后重启容器:
sudo docker restart 容器名称
这样就可以访问了 https://xxxxx:9000
总结:上面的容器卷主机映射地址和端口不是固定的,根据自己情况来。