Nextcloud配置证书后无法正常登录?一篇讲清SSL和登录转圈问题

0 阅读2分钟

我上一篇文章写了部署nextcloud,这一篇文章就为nextcloud配置一下ssl证书并且解决一下登录转圈的问题。

ssl证书可能大家都知道是什么,但是登录转圈,不知道大家看到这四个字有没有疑惑。其实就是,配置好证书后,你访问你的域名地址,在nextcloud登录界面输入好你的用户名和密码后,你点击登录,它会一直转圈,无法进入nextcloud。

不知道有没有人在部署nextcloud的时候遇到这个问题,反正在我第一次部署nextcloud的时候,这个登录问题可是让我头疼了好久。

和之前一样,配置ssl证书的详细过程不写了,大家不会的可以看我前面的文章。

这里直接贴一下我的nginx配置:

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen 80;
    server_name nextcloud.app.com;

    location ^~ /.well-known/acme-challenge/ {
        root /var/www/html;
        default_type "text/plain";
        try_files $uri =404;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl http2;
    server_name nextcloud.app.com;

    ssl_certificate     /etc/letsencrypt/live/nextcloud.app.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/nextcloud.app.com/privkey.pem;

    location ^~ /.well-known/acme-challenge/ {
        root /var/www/html;
        default_type "text/plain";
        try_files $uri =404;
    }

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;

        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 Upgrade           $http_upgrade;
        proxy_set_header Connection        $connection_upgrade;
    }
}

这里以nextcloud.app.com为例,注意将配置中的4个nextcloud.app.com换成你自己的域名。

配置好ssl证书后,重载一下nginx:

systemctl reload nginx

这是访问nextcloud的地址:nextcloud.app.com

应该会出现这样的问题:

10-1.png

出现这样的问题是正常的,这是nextcloud的安全防护。

现在进入1panel修改配置文件:

10-2.png

如果你的nextcloud是看我上一篇文章部署的,那么就是转到这个路径:/opt/nextcloud/config/www/nextcloud/config

如果是自己部署的,那么路径会不一样,自己找一下。

10-3.png

点击打开我画红框的文件。

10-4.png

10-5.png

在我画红框的地方,加上你的域名。将nextcloud.app.com改成你的域名就可以了。注意不要忘了后面的那个逗号。

改完之后再次访问nextcloud的地址:

10-6.png

你可以发现,现在就可以正常访问了。

现在还有一个问题就是我开头说的登录转圈问题。

10-7.png

你会发现它一直努力在登录,但是一直登录不上去,就卡在了这里。

但是现在你刷新一下网页,你就会发现成功进去nextcloud主页了。

10-8.png

怎么解决这个问题呢?

还是打开之前配置域名的那个文件。

路径在这里:/opt/nextcloud/config/www/nextcloud/config

将下面这四行代码写上去就可以解决这个问题:

'overwritehost' => 'nextcloud.app.com',
'overwriteprotocol' => 'https',
'trusted_for_headers' => ['127.0.0.1'],
'forwarded_for_headers' => ['HTTP_X_FORWARDED_FOR'],

10-9.png

改完之后,你可以打开一个无痕窗口,验证一下。

访问你的nextcloud地址,登录一下,你会发现这个转圈问题解决了。

如果你在手机上或者电脑上安装了nextcloud,登录转圈问题不解决的话,你会发现成功连接上是看运气的,解决这个问题后,你就可以随便连接了。