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