原文同步自作者博客:https://www.daxueyiwu.com/post/765
HTTPS需要使用SSL证书,可以自己签发也可以用ca机构签发的,加密效果相同。
生成证书:
- 创建私钥
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
完成证书的生成后,将生成的证书拷贝到
/app/onlyoffice/DocumentServer/data/certs
目录下。
创建相应目录:
mkdir -p /app/onlyoffice/DocumentServer/data/certs
复制证书到
/app/onlyoffice/DocumentServer/data/certs
目录并设置权限:
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
运行容器,映射容器的443端口和Data目录至本地:
sudo docker run -i -t -d -p 443:443 \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
在浏览器里访问https://服务器地址/。(CentOS/RHEL/Fedora系统可能无法访问,请往下看)
当然了,如果本地443端口已经被占用了的话,可以映射至其它端口:
sudo docker run -i -t -d -p 9000:443 \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
但是仍然是要用HTTPS协议访问,比如:https://服务器地址:9000/
CentOS/RHEL/Fedora无法访问
这是由于SELinux的阻止。
暂时关闭SELinux(重启后失效):
setenforce 0
参考:
https://blog.csdn.net/qq_33468857/article/details/85333593
https://hub.docker.com/r/onlyoffice/documentserver
有需要可以加群交流:点击链接加入群聊【onlyoffice交流群】:https://jq.qq.com/?_wv=1027&k=ozgBiZts
1群将满可加2群【onlyoffice交流群2】:https://jq.qq.com/?_wv=1027&k=2uSJJPfr