Linux+Docker onlyoffice 启用 HTTPS 端口支持

发布于:2024-12-20 ⋅ 阅读:(56) ⋅ 点赞:(0)


在这里插入图片描述


一、需求

上篇文章介绍了如何搭建一个 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
  1. 进入容器的文件夹 Data下面:
cd /var/www/onlyoffice/Data/
  1. 在Data目录里建立 certs 文件夹:
mkdir certs
  1. 切换到 certs 文件夹
cd /var/www/onlyoffice/Data/certs

🎯上面几步很重要,我之前就是因为路径问题吃了大亏。

2.3 生成私钥和证书

certs 文件夹内操作,🎯注意,以下操作如果涉及到让你输入配置内容的可以 一路回车 ,不用认真填写具体内容。

  1. #创建 私钥
openssl genrsa -out onlyoffice.key 2048
  1. #创建 CSR
openssl req -new -key onlyoffice.key -out onlyoffice.csr
  1. #用 私枂CSR 签发证书
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
  1. #用 dhparam 加密服务器密钥
openssl dhparam -out dhparam.pem 2048

上面四步操作完后,确认下是否生成了如下文件:

在这里插入图片描述

  1. 退出容器:
exit
  1. 重启容器:
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.crtonlyoffice.key 两个文件放到里面,然后重启容器:

sudo docker restart 容器名称

这样就可以访问了 https://xxxxx:9000

总结:上面的容器卷主机映射地址和端口不是固定的,根据自己情况来。

在这里插入图片描述