我上一篇文章写了部署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
应该会出现这样的问题:
出现这样的问题是正常的,这是nextcloud的安全防护。
现在进入1panel修改配置文件:
如果你的nextcloud是看我上一篇文章部署的,那么就是转到这个路径:/opt/nextcloud/config/www/nextcloud/config
如果是自己部署的,那么路径会不一样,自己找一下。
点击打开我画红框的文件。
在我画红框的地方,加上你的域名。将nextcloud.app.com改成你的域名就可以了。注意不要忘了后面的那个逗号。
改完之后再次访问nextcloud的地址:
你可以发现,现在就可以正常访问了。
现在还有一个问题就是我开头说的登录转圈问题。
你会发现它一直努力在登录,但是一直登录不上去,就卡在了这里。
但是现在你刷新一下网页,你就会发现成功进去nextcloud主页了。
怎么解决这个问题呢?
还是打开之前配置域名的那个文件。
路径在这里:/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'],
改完之后,你可以打开一个无痕窗口,验证一下。
访问你的nextcloud地址,登录一下,你会发现这个转圈问题解决了。
如果你在手机上或者电脑上安装了nextcloud,登录转圈问题不解决的话,你会发现成功连接上是看运气的,解决这个问题后,你就可以随便连接了。