Главная
» Как сделать
»
Устранение неполадок при установке приложения Nextcloud, сообщающего об отсутствии интернета.
Устранение неполадок при установке приложения Nextcloud, сообщающего об отсутствии интернета.
Начиная с Nextcloud 33, время ожидания запроса метаданных App Store по умолчанию составляет 120 секунд и может быть настроено с помощью параметра occ`. Это помогает при медленном ответе, но сообщение «Приложение не может быть установлено, поскольку у сервера нет доступа к интернету» следует сначала проверять на сервере или в контейнере, где запущен Nextcloud, а не в браузере.
Проверьте конечную точку App Store из собственной среды выполнения Nextcloud, затем устраните конкретную ошибку: DNS, исходящий HTTPS, конфигурация прокси, доверие сертификатов или настройка App Store. Сообщение носит общий характер; оно не доказывает, что весь сервер недоступен.
1. Проверьте, где именно произошла ошибка при установке.
Проверьте, не работают ли все приложения или только одно. Если каталог загружается, но одно приложение не устанавливается, проверьте совместимость с версией Nextcloud и права доступа к каталогу приложений; это не обязательно проблема с сетью.
Для более наглядного сообщения об ошибке попробуйте установить приложение из командной строки. В случае успеха приложение будет установлено, поэтому используйте нужный идентификатор приложения. Запускайте установку от имени пользователя HTTP, чтобы сохранить права доступа к файлам. В Debian или Ubuntu:
Замените newsна необходимый идентификатор приложения. В Docker выполните команду внутри контейнера приложения Nextcloud от имени его веб-пользователя. Сравните полный вывод с nextcloud.log; ошибки совместимости или прав доступа требуют иного решения, чем ошибки DNS.
Иллюстрация: на экране серверного терминала отображается проверка подключения из среды выполнения Nextcloud; это не записанный результат теста.
2. Проверьте работу DNS и HTTPS из среды выполнения Nextcloud.
Выполните эти проверки там, где работает PHP-процесс Nextcloud. Успешный запрос с вашего ноутбука или хоста Docker не доказывает, что контейнер приложения имеет тот же сетевой доступ.
URL-адрес App Store по умолчанию — https://apps.nextcloud.com/api/v1; Nextcloud получает из него метаданные, такие как categories.json. DNS должен возвращать адрес, а HTTPS — ответ. Ошибки разрешения имен или тайм-ауты указывают на проблемы с DNS, маршрутизацией, брандмауэром или прокси-сервером; ошибки TLS указывают на проблемы с доверием к сертификату или системным временем. Ошибка HTTP означает, что сервер ответил, поэтому проверьте URL-адрес и ответ прокси-сервера.
В Docker выполните проверки в контейнере приложения Nextcloud. Убедитесь, что DNS работает и разрешен исходящий TCP-трафик 443. Если прокси-сервер фильтрует адреса назначения, проверьте журналы Nextcloud на наличие имен хостов для загрузки из App Store, а также хоста каталога.
Иллюстрация: диагностические категории для DNS, HTTPS и доверия сертификатов; зеленые индикаторы не соответствуют результатам с этого сервера.
3. Устранение проблем с прокси-сервером или TLS без ослабления безопасности.
Если для исходящего трафика требуется прокси, настройте его для PHP/HTTP-клиента Nextcloud, а не только для браузера или оболочки администратора. Nextcloud поддерживает proxyнеобязательные proxyuserpwdнастройки proxyexclude. Держите учетные данные прокси в секрете. Проверьте, наследуют ли PHP-FPM и CLI одну HTTPS_PROXYи ту же NO_PROXYсреду.
При возникновении ошибок TLS проверьте серверное время и обновите пакет сертификатов центра сертификации ОС. Если используется утвержденный корпоративный прокси-сервер для проверки подлинности, добавьте его доверенный центр сертификации в среду выполнения PHP. Не отключайте проверку TLS и не используйте ее curl -kдля запроса в App Store; это ослабляет защиту от поддельного хоста загрузки.
Иллюстрация: проверка конфигурации Nextcloud для исходящего прокси-сервера и настроек App Store без раскрытия учетных данных.
4. Проверьте URL-адрес приложения в App Store и права на установку.
Магазин приложений включен по умолчанию, и его URL-адрес по умолчанию — https://apps.nextcloud.com/api/v1. Проверить config/config.phpили запросить фактические значения можно с помощью occкоманды:
Если appstoreenabledзначение явно равно false, включайте эту опцию только в том случае, если ваша политика разрешает использование общедоступного магазина. Если appstoreurlуказан старый или недоступный пользовательский магазин, восстанавливайте значение по умолчанию только в том случае, если вы собираетесь использовать общедоступный магазин приложений Nextcloud. Организациям, использующим собственный магазин приложений, следует сохранить этот URL-адрес и вместо этого исправить его DNS, сертификат или путь доступа.
Если каталог загружается, но установка по-прежнему завершается с ошибкой, проверьте apps_pathsзаписи в действующей конфигурации. По крайней мере, один настроенный каталог приложения должен быть доступен для записи пользователем веб-сервера Nextcloud. Исправьте владельца или группу каталога и их предполагаемые права на запись; не делайте каталог доступным для записи всем. Приложение, заблокированное организационным списком разрешенных приложений или несовместимое с вашей версией Nextcloud, также требует решения администратора на основе политики или версии, а не изменения сетевых настроек.
5. Повторите попытку, затем скорректируйте время ожидания только в том случае, если есть признаки замедления работы.
После успешного прохождения проверок DNS, HTTPS, прокси, TLS и конфигурации повторите установку со страницы приложений или с помощью той же occ app:installкоманды. Если запрос доступен, но постоянно занимает больше времени, чем настроенный таймаут метаданных, Nextcloud 33 и более поздние версии могут установить его более высоким. Например:
Это увеличивает время ожидания до 180 секунд; при этом не исправляется заблокированный исходящий трафик, недействительный сертификат или неправильный URL-адрес хранилища. В Nextcloud 33 и более поздних версиях по умолчанию установлено значение 120 секунд. Чтобы отменить изменение значения и вернуться к значению по умолчанию:
Для сервера, намеренно изолированного от сети, поддерживаемым вариантом конфигурации является использование одобренного собственного App Store. Не пытайтесь устранить сбой, загружая произвольный ZIP-архив приложения и помещая его в каталог приложений; используйте надежный источник и убедитесь, что версия приложения соответствует вашему серверу.
Иллюстрация: общая команда и представление журнала; фактические сведения об ошибке должны поступать с затронутого сервера.
Проверка
Убедитесь, что каталог App Store загружается, нужное приложение устанавливается и отображается в списке включенных приложений, а в журнале больше не регистрируются ошибки подключения, TLS или таймаута при попытке подключения. Если конечная точка отвечает из среды выполнения Nextcloud, но пользовательский интерфейс по-прежнему сообщает об отсутствии интернета, сравните URL-адрес и настройки App Store, проверьте различия в среде прокси между PHP-FPM и CLI и убедитесь, что заблокировано или несовместимо только одно приложение.