Nextcloud applications can not login

1.6k Views Asked by At

Two weeks ago I decided to learn how to setup an Ubuntu server in order to install Nextcloud. After reading several articles I managed to install Nextcloud using snap and I configured it in order to listen the 5000 port. I had to do it because I want to install other web applications as well so I did not want nextcloud to reserve ports 80 and 443. It worked and I tested it with a web browser, my Android device and I also installed the windows desktop application in order to upload and synchronize my files.

I had done the first step and I had a working Nextcloud server. The next step was to secure it using an SSL certificate by Let’s Encrypt. I spent several hours trying to understand how to setup certbot in order to generate SSL certificates and I used NGINX web server in order to redirect the requests from my servers 443 port to the 5000 port that nextcloud was listening. I used the following configuration file in order to setup my domain to redirect to 5000 port.

server {
        listen               *:80;
        server_name          cloud.computermagic.gr;
        return 301            https://$server_name$request_uri;
}
server {
        listen               *:443 ssl http2;
        server_name          cloud.computermagic.gr;

        ssl on;
        ssl_certificate      /etc/letsencrypt/live/cloud.computermagic.gr/fullchain.pem;
        ssl_certificate_key  /etc/letsencrypt/live/cloud.computermagic.gr/privkey.pem;
        ssl_stapling on;
        ssl_stapling_verify on;

        location / {
            add_header Front-End-Https      on;
            proxy_headers_hash_max_size     512;
            proxy_headers_hash_bucket_size  64;
            proxy_set_header                Host $host;
            proxy_set_header                X-Forwarded-Proto $scheme;
            proxy_set_header                X-Real-IP $remote_addr;
            proxy_set_header                X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass                      http://localhost:5000;
        }
}

I tried the nextcloud server with chrome and everything was perfect. I had the server behind a domain working with an SSL certificate. Then I tried to use the android and windows applications but for some reason I was not able to login.

The application opens, I type the server address and when I type username and password in order to allow the application to access my server, the loading icon spins for ever. It does not display an error message so that I can understand what is the problem and I am not an experienced linux user so that I will understand what is the problem.

I suppose there is something wrong with the configuration file because without the redirect the server seems to work properly with all the applications that I tried.

Can someone help me?

UPDATE I removed the permanent redirect and it works.

server {
        listen               *:80;
        server_name          cloud.computermagic.gr;
#        return 301            https://$server_name$request_uri;
        location / {
            add_header Front-End-Https      on;
            proxy_headers_hash_max_size     512;
            proxy_headers_hash_bucket_size  64;
            proxy_set_header                Host $host;
            proxy_set_header                X-Forwarded-Proto $scheme;
            proxy_set_header                X-Real-IP $remote_addr;
            proxy_set_header                X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass                      http://localhost:5000;
        }
}
server {
        listen               *:443 ssl http2;
        server_name          cloud.computermagic.gr;

        ssl on;
        ssl_certificate      /etc/letsencrypt/live/cloud.computermagic.gr/fullchain.pem;
        ssl_certificate_key  /etc/letsencrypt/live/cloud.computermagic.gr/privkey.pem;
        ssl_stapling on;
        ssl_stapling_verify on;

        location / {
            add_header Front-End-Https      on;
            proxy_headers_hash_max_size     512;
            proxy_headers_hash_bucket_size  64;
            proxy_set_header                Host $host;
            proxy_set_header                X-Forwarded-Proto $scheme;
            proxy_set_header                X-Real-IP $remote_addr;
            proxy_set_header                X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass                      http://localhost:5000;
        }
}

is it safe to leave it like this?

1

There are 1 best solutions below

0
On BEST ANSWER

I finally found how to fix my problem. I edited the config.php file.

sudo nano /var/snap/nextcloud/current/nextcloud/config/config.php

I inserted the following overwriteprotocol property:

'overwriteprotocol' => 'https'