用Docker搭建Nextcloud私人云盘并配置Nginx反向代理实现二级域名

前言

最近一直在折腾服务器,慢慢开始对Linux和docker熟悉起来了,想做点比较酷的事情,恰巧看到朋友圈有人在吐槽,百度网盘下载速度只有几k,不充会员就不给用了呗。

刚好前几天逛别人博客的时候看到有人搭建了自己的私有云盘,可以自己定制背景图片、Logo什么的,而且不限速,还有配套的移动、PC客户端,手机电脑随时随地都能上传下载文件,想放什么进去都可以不用担心被封,还能分享给其他人满速下载,这也太酷了。

市面上的私有云盘虽然不算多,但还是有选择的空间的,选择困难症表示最后选了一个看起来舒服的Nextcloud,这里简单介绍一下Nextcloud,Nextcloud是国外的一个开源私人网盘系统,用户可以通过Nextcloud搭建起只属于自己的云盘。一句话来说就是私人的百度网盘。

正式开始

一、使用Docker部署容器

docker pull nextcloud
docker run -d --restart=always --name nextcloud -p 8888:8888 nextcloud

执行完毕后我们就会得到一个部署在8888端口的nextcloud网盘容器。

二、修改配置文件实现反向代理

然后我们需要更新Nginx的配置文件,才Nginx的目录下的conf.d文件夹下的default.conf中添加以下代码:

  server {
             listen       80;
             server_name  你的二级域名;



             ssl_certificate "证书地址";
             ssl_certificate_key "证书key地址";


             ssl_session_cache    shared:SSL:1m;
             ssl_session_timeout 10m;
             ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
             ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
             ssl_prefer_server_ciphers on;

             location / {
      
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
                     proxy_pass http://127.0.0.1:8888; 
                 } 
         } 

配置完成后如果我们直接访问二级域名,会发现nextcloud会报出一个nextcloud 通过不被信任的域名访问 请联系您的管理员的错误。

用Docker搭建Nextcloud私人云盘并配置Nginx反向代理实现二级域名-Luninousail ' Blog

原因在于nextcloud自身有个配置文件,会记录允许访问的域名地址,所以我们还需要修改这个配置文件,添加我们的二级域名进去。

配置文件在nextcloud的根目录下的config文件夹下的config.php内,找到'trusted_domains'后添加:

  'trusted_domains' => 
  array (
    0 => '127.0.0.1',
    1 => 'xx.xx.com',
    2 => 'www.xx.xx.com',
    3 => 'www.xx.com:8888',
  ),

三、服务器内部错误的问题与解决

修改完毕后我们重启docker容器,如果正常的话就可以访问到属于我们自己的网盘啦,但一半还会出现这样一个错误:内部服务器错误

用Docker搭建Nextcloud私人云盘并配置Nginx反向代理实现二级域名-Luninousail ' Blog

通过在网上仔细观察,深入探索,结合查看报错的日志文件,最后得出结论,nextcloud所在的文件夹权限不够,导致无法读取配置文件,只要修改网盘文件夹的权限就好了:

chmod 777 nextcloud -Rf  #nwxtcloud为网站目录  

之后经过简单的配置安装,我们就可以登录只属于我们自己的私人网盘了。

用Docker搭建Nextcloud私人云盘并配置Nginx反向代理实现二级域名-Luninousail ' Blog

四、附录

参考文章:

Docker方式部署Nextcloud

nextcloud 通过不被信任的域名访问 请联系您的管理员。

NextCloud安装出现”内部服务器错误”

本文系作者 @ 原创发布在 Luninousail ' Blog。未经许可,禁止转载。

喜欢()
评论 (0)
183 文章
4 评论
25 喜欢
Top