nextcloud是一个开源的云盘系统,非常好用,可以将一些个人的资料备份到云上,不需要使用第三方的阿里云和百度云等云盘上,数据在人家上面,无法得到保障,并且百度云下载还要限速,非常麻烦。
准备证书文件
public.crt web.key chain.crt
进入容器
docker exec -it nextcloud /bin/bash
容器内执行
a2enmod ssl
a2ensite default-ssl
修改ssl.load配置文件
vim /etc/apache2/mods-available/ssl.load
如果有下面这一句就不用修改了,没有就添加上
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
编辑文件
vim /etc/apache2/sites-available/default-ssl.conf
如果无法使用vi或者vim编辑,这可以直接将文件复制到宿主机更改
容器复制文件到宿主机命令
docker cp nextcloud/etc/apache2/sites-available/default-ssl.conf /opt
宿主机复制文件到容器命令
docker cp /opt/default-ssl.conf nextcloud:/etc/apache2/sites-avaliable/default-ssl.conf
证书文件可以用此方式复制到容器内部
docker cp /nextcloud/cert nextcloud:/etc/apache2/cert
找到下面三句注释掉或删除
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
#SSLEngine on
#SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
#SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
在上面三句的最后面加上以下内容
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLEngine on
SSLCertificateFile /etc/apache2/cert/public.crt
SSLCertificateKeyFile /etc/apache2/cert/web.key
SSLCertificateChainFile /etc/apache2/cert/chain.crt
重启apache2服务
/etc/init.d/apache2 restart