Настройте публичный URL-адрес Nextcloud, чтобы он мог быть доступен сам себе.

Установите канонический базовый URL-адрес Nextcloud на адрес, который фактически используют пользователи, а затем убедитесь, что сервер Nextcloud может разрешить этот адрес и подключиться к нему. Для типичной установки HTTPS ключевым параметром является overwrite.cli.url; если Nextcloud находится за обратным прокси-сервером, также исправьте перенаправляемый протокол или корневой веб-адрес только тогда, когда это требуется вашей конфигурацией.

Предупреждение, обозначенное как «Сервер не имеет исходящего адреса», может указывать на то, что Nextcloud не смог сгенерировать или проверить адрес, ведущий к собственному веб-сервису. В текущей документации Nextcloud несколько проверок настройки требуют, чтобы веб-сервер обращался к одному из своих доверенных доменов или к настроенному адресу overwrite.cli.url. Это отличается от общего предупреждения «нет работающего интернет-соединения», которое указывает на проблемы с исходящим DNS, брандмауэром или прокси-сервером при доступе к внешним сервисам.

Какой URL-адрес следует использовать в Nextcloud?

Выберите стабильный URL-адрес, который обычно вводят ваши пользователи. Например, если пользователи открывают https://cloud.example.com, используйте именно эту схему и имя хоста. Если установка выполняется из подкаталога, например https://example.com/nextcloud, , включите /nextcloudв базовый URL-адрес. Избегайте использования localhostили частного имени контейнера в качестве канонического URL-адреса, если сгенерированные ссылки должны работать для пользователей за пределами этого компьютера.

Nextcloud использует overwrite.cli.urlв качестве канонического базового URL-адреса при генерации ссылок вне обычного браузерного запроса, включая контексты командной строки и фоновых заданий. Это делает его подходящим параметром, когда предупреждение или неработающая ссылка вызваны некорректным URL-адресом, определенным во время установки.

Укажите канонический базовый URL-адрес

В стандартной установке Linux перейдите в каталог Nextcloud, содержащий occ(обычно /var/www/nextcloud) и выполните следующую команду от имени пользователя веб-сервера:

cd /var/www/nextcloud
sudo -u www-data php occ config:system:set overwrite.cli.url --value="https://cloud.example.com"

Замените пример URL-адреса на свой реальный публичный адрес. Для установки в подкаталог укажите его путь, например https://example.com/nextcloud, . Если в вашей установке используется другая учетная запись веб-сервера, контейнер или структура пакетов, используйте описанный в документации метод развертывания для запуска occ; указанный выше путь и учетная запись не являются универсальными.

Вы также можете отредактировать существующий массив config/config.phpи добавить в него следующую запись $CONFIG:

'overwrite.cli.url' => 'https://cloud.example.com',

Не создавайте второй $CONFIGмассив и не перезаписывайте остальную часть файла. Сохраняйте запятую в конце, если за ней следуют другие записи. configПеред ручным редактированием сделайте резервную копию вне активного каталога; Nextcloud может загрузить дополнительные файлы, заканчивающиеся .config.phpна этот каталог, в качестве конфигурации в реальном времени.

Что меняется, когда Nextcloud находится за обратным прокси-сервером?

Обратный прокси-сервер принимает публичный HTTPS-запрос и перенаправляет его в Nextcloud, иногда по обычному HTTP в частной сети. В этом случае Nextcloud может ошибочно определить схему, имя хоста или путь при создании собственного URL-адреса. В официальном руководстве по обратным прокси-серверам рекомендуется использовать параметры перезаписи только в случае сбоя автоматического определения и указывать адрес прокси-сервера в разделе trusted_proxies.

Для прокси-сервера, 10.0.0.1обслуживающего Nextcloud по адресу https://cloud.example.com/nextcloud, соответствующие записи в существующем массиве конфигурации выглядят следующим образом:

'trusted_proxies'   => ['10.0.0.1'],
'overwriteprotocol' => 'https',
'overwritewebroot'  => '/nextcloud',
'overwrite.cli.url' => 'https://cloud.example.com/nextcloud',

Используйте фактический адрес, который Nextcloud видит для прокси-сервера и публичного пути в вашей конфигурации. Для установки на корневом домене этот параметр следует опустить, overwritewebrootесли только это не требуется для конкретной конфигурации прокси-сервера. Nextcloud отмечает, что overwritehostв большинстве случаев это не требуется, поскольку он может считывать хост, переадресованный прокси-сервером; устанавливайте его только в том случае, если вам необходимо принудительно установить одно имя хоста. Неправильные настройки доверия к прокси-серверу или параметров переадресованного заголовка могут повлиять на интерпретацию IP-адресов клиентов, поэтому не копируйте примерный адрес, не проверив свою топологию.

Может ли сервер получить доступ к этому URL-адресу изнутри своей собственной сети?

Проведите тестирование на хосте Nextcloud или в контейнере Nextcloud, если сервис работает в Docker. Сначала проверьте разрешение имен, затем выполните HTTPS-запрос:

getent ahosts cloud.example.com
curl -I https://cloud.example.com/status.php

Имя хоста должно разрешаться в предполагаемый доступный адрес, и запрос должен возвращать HTTP-ответ от Nextcloud без ошибки сертификата. Успешный запрос с вашего ноутбука не доказывает, что сервер может получить доступ к тому же URL-адресу. Домашние серверы за маршрутизатором могут давать сбои при попытке доступа к своему собственному публичному адресу из локальной сети; это часто называют проблемой NAT типа «шпилька» или проблемой NAT-петли. Настройте раздельное DNS таким образом, чтобы одно и то же публичное имя хоста внутренне разрешалось в адрес локальной сети обратного прокси-сервера, или включите поддерживаемое маршрутизатором поведение обратной связи. Сохраняйте канонический URL-адрес публичным, чтобы ссылки, отправляемые удаленным пользователям, оставались действительными.

Не следует «исправлять» проблему с сертификатом, используя его curl -kв качестве доказательства работоспособности HTTPS. Установите или настройте цепочку сертификатов, которой доверяет система или контейнер, на котором работает Nextcloud, а затем повторите проверку в обычном режиме.

Когда следует проверять общий доступ к исходящему интернету?

Если на странице администратора указано, что у Nextcloud нет работающего интернет-соединения или он не может связаться с несколькими внешними точками доступа, изменение настроек overwrite.cli.urlсамо по себе не восстановит исходящий интернет-трафик. Проверьте разрешение DNS и правила исходящего брандмауэра на сервере. Если вашей сети требуется HTTP-прокси, настройте поддерживаемые параметры прокси Nextcloud или среду, используемую PHP и фоновыми задачами; прокси, настроенный только в интерактивной оболочке, может быть недоступен для запланированных задач.

Проверьте исправление

Перезагрузите раздел «Обзор администрирования» после того, как Nextcloud сможет определить и получить доступ к своему каноническому URL-адресу. Убедитесь, что адрес использует правильное имя хоста HTTPS и все подкаталоги, затем создайте тестовую ссылку для общего доступа и проверьте, содержит ли она тот же доступный хост. Если предупреждение об исходящем адресе исчезнет, ​​но останется предупреждение о подключении к Интернету, отдельно изучите исходящий доступ. В текущем руководстве администратора Nextcloud описаны настройки URL-адреса и обратного прокси-сервера; точная формулировка на экране может различаться в зависимости от версии и переведенного интерфейса.

Официальные ссылки

Оставить комментарий

Настройте публичный URL-адрес Nextcloud, чтобы он мог быть доступен сам себе.

Устраните предупреждение Nextcloud об отсутствии исходящего адреса, установив канонический URL-адрес и проверив маршрутизацию DNS, HTTPS и обратного прокси-сервера непосредственно на самом сервере.

Настройка кэширования Nextcloud Redis в Ubuntu 24.04

Настройка кэширования Nextcloud Redis в Ubuntu 24.04

Настройка APCu и Redis через локальный Unix-сокет для кэширования и блокировки файлов в Nextcloud, с пошаговыми инструкциями для текущих и более старых версий Nextcloud.

Настройте автоматический запуск Cron в Nextcloud с помощью таймера Systemd.

Проверьте режим cron в Nextcloud, восстановите работу службы systemd и таймера, а также убедитесь, что фоновые задачи запускаются после запуска системы и каждые пять минут.

Удалите предупреждение Nextcloud о блокировке файлов с помощью Redis.

Включите надежную блокировку файлов в Nextcloud, выберите подходящий бэкенд Redis или Valkey и убедитесь, что предупреждение исчезает без риска одновременного изменения файлов.

Что нужно, чтобы получить рейтинг безопасности Nextcloud A+

Что нужно, чтобы получить рейтинг безопасности Nextcloud A+

Устраните распространенные ошибки сканирования Nextcloud с помощью текущих обновлений, HTTPS и HSTS, точного доверия к обратному прокси-серверу и проверок на общедоступном сервере.

Внедрите серверное шифрование Nextcloud с измеримым эффектом.

Настройте Nextcloud SSE для необходимого вам хранилища, защитите ключи шифрования и измерьте влияние на передачу данных и загрузку процессора перед шифрованием существующих файлов.

Добавьте полнотекстовый поиск Elasticsearch в Nextcloud.

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

Настройте надежную политику истечения срока действия для удаленных файлов в Nextcloud.

Настройте надежную политику истечения срока действия для удаленных файлов в Nextcloud.

Настройте Nextcloud так, чтобы он удалял удалённые файлы по истечении заданного периода хранения, надёжно планировал фоновые задачи и избегал команд, очищающих корзину каждого пользователя.

Удалите предупреждение Nextcloud об отсутствии индексов в базе данных.

Удалите предупреждение Nextcloud об отсутствии индексов в базе данных.

Запустите функцию восстановления OCC в Nextcloud в безопасных условиях, просмотрите изменения в базе данных и выясните, почему предупреждение может оставаться.

Увеличьте лимит загрузки веб-страниц в Nextcloud до более чем 2 ГБ.

Увеличьте лимит загрузки веб-страниц в Nextcloud до более чем 2 ГБ.

Разрешите загрузку файлов больших размеров через браузер Nextcloud, согласовав параметры PHP, Nginx или Apache, временного хранилища и тайм-аута, а также проверьте, какое ограничение блокирует файл.