Приложения Nextcloud не могут войти - PullRequest
0 голосов
/ 11 апреля 2020

Две недели go Я решил узнать, как настроить сервер Ubuntu для установки Nextcloud. После прочтения нескольких статей мне удалось установить Nextcloud с помощью оснастки, и я настроил его для прослушивания порта 5000. Мне пришлось это сделать, потому что я хочу установить и другие веб-приложения, поэтому я не хотел, чтобы nextcloud резервировал порты 80 и 443. Это сработало, и я протестировал его с помощью веб-браузера, моего устройства Android, и я также установил windows настольное приложение для загрузки и синхронизации моих файлов.

Я сделал первый шаг, и у меня был рабочий сервер Nextcloud. Следующим шагом было защитить его с помощью SSL-сертификата Let's Encrypt. Я потратил несколько часов, пытаясь понять, как настроить certbot для генерации SSL-сертификатов, и я использовал веб-сервер NGINX, чтобы перенаправить запросы с порта 443 моих серверов на порт 5000, который прослушивал nextcloud. Я использовал следующий файл конфигурации, чтобы настроить мой домен для перенаправления на порт 5000.

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;
        }
}

Я попробовал сервер nextcloud с chrome, и все было идеально. У меня был сервер за доменом, работающий с сертификатом SSL. Затем я попытался использовать приложения android и windows, но по какой-то причине я не смог войти в систему.

Приложение открывается, я набираю адрес сервера, и когда я ввожу имя пользователя и пароль, чтобы позволить приложению получить доступ к моему серверу, значок загрузки вращается навсегда. Он не отображает сообщение об ошибке, чтобы я мог понять, в чем проблема, и я не опытный пользователь linux, поэтому я пойму, в чем проблема.

Полагаю, что-то не так с файлом конфигурации, потому что без перенаправления сервер, кажется, работает должным образом со всеми приложениями, которые я пробовал.

Может кто-нибудь мне помочь?

ОБНОВЛЕНИЕ Я удалил перманентное перенаправление, и оно работает.

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;
        }
}

Безопасно ли оставить это так?

1 Ответ

0 голосов
/ 13 апреля 2020

Я наконец нашел, как исправить мою проблему. Я отредактировал файл конфигурации. php.

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

Я вставил следующее свойство overwriteprotocol:

'overwriteprotocol' => 'https'
...