Strona główna
» Jak
»
Rozwiązywanie problemów z instalacjami aplikacji NextCloud, które zgłaszają brak połączenia z Internetem
Rozwiązywanie problemów z instalacjami aplikacji NextCloud, które zgłaszają brak połączenia z Internetem
Od wersji NextCloud 33 limit czasu żądania metadanych App Store domyślnie wynosi 120 sekund i można go dostosować za pomocą occ. Pomaga to w przypadku powolnej odpowiedzi, ale komunikat „Nie można zainstalować aplikacji, ponieważ serwer nie ma dostępu do internetu” należy najpierw sprawdzić na serwerze lub w kontenerze, na którym działa NextCloud, a nie w przeglądarce.
Przetestuj punkt końcowy App Store z poziomu środowiska wykonawczego NextCloud, a następnie napraw konkretny błąd: DNS, wychodzący protokół HTTPS, konfigurację serwera proxy, zaufanie certyfikatu lub ustawienie App Store. Komunikat jest ogólny i nie dowodzi, że cały serwer jest offline.
1. Sprawdź, gdzie instalacja się nie powiodła
Sprawdź, czy wszystkie aplikacje, czy tylko jedna, nie działają. Jeśli katalog się ładuje, ale jedna aplikacja nie instaluje się, sprawdź jej zgodność z wersją NextCloud i uprawnienia do katalogu aplikacji; nie musi to oznaczać problemu z siecią.
Aby uzyskać bardziej czytelny błąd, spróbuj instalacji z wiersza poleceń. Aplikacja zostanie zainstalowana, jeśli się powiedzie, więc użyj właściwego identyfikatora aplikacji. Uruchom ją jako użytkownik HTTP, aby zachować prawa własności do pliku. W systemie Debian lub Ubuntu:
Zastąp newspotrzebnym identyfikatorem aplikacji. W Dockerze uruchom polecenie w kontenerze aplikacji Nextcloud jako jego użytkownik sieciowy. Porównaj pełne dane wyjściowe z nextcloud.log; błędy zgodności lub uprawnień wymagają innego rozwiązania niż awarie DNS.
Ilustracja: terminal serwerowy przedstawia sprawdzanie łączności z poziomu środowiska uruchomieniowego Nextcloud. Nie jest to zarejestrowany wynik testu.
2. Przetestuj DNS i HTTPS z poziomu środowiska wykonawczego Nextcloud
Przeprowadź te sprawdzenia, gdy uruchomiony jest proces PHP w NextCloud. Pomyślne żądanie z laptopa lub hosta Dockera nie dowodzi, że kontener aplikacji ma ten sam dostęp do sieci.
Domyślny adres URL App Store to https://apps.nextcloud.com/api/v1; Nextcloud pobiera z niego metadane, takie jak categories.json. DNS powinien zwrócić adres, a HTTPS powinien zwrócić odpowiedź. Błędy rozpoznawania nazw lub przekroczenia limitu czasu wskazują na DNS, routing, zaporę sieciową lub serwer proxy; błędy TLS wskazują na zaufanie certyfikatu lub czas systemowy. Błąd HTTP oznacza, że serwer odpowiedział, więc sprawdź adres URL i odpowiedź serwera proxy.
W Dockerze uruchom sprawdzanie kontenera aplikacji Nextcloud. Upewnij się, że DNS działa i że ruch wychodzący TCP 443 jest dozwolony. Jeśli serwer proxy filtruje miejsca docelowe, sprawdź logi Nextcloud pod kątem nazw hostów pobierania App Store oraz hosta katalogu.
Ilustracja: kategorie diagnostyczne dla DNS, HTTPS i zaufania certyfikatu; zielone wskaźniki nie są wynikami z tego serwera.
3. Rozwiąż problemy z serwerem proxy lub TLS bez osłabiania zabezpieczeń
Jeśli ruch wychodzący wymaga serwera proxy, skonfiguruj go dla klienta PHP/HTTP Nextcloud, a nie tylko dla przeglądarki lub powłoki administratora. Nextcloud obsługuje ustawienia proxy, opcjonalne proxyuserpwdi proxyexclude. Zachowaj poufność danych uwierzytelniających serwera proxy. Sprawdź, czy PHP-FPM i CLI dziedziczą to samo HTTPS_PROXYśrodowisko NO_PROXY.
W przypadku błędów TLS sprawdź zegar serwera i zaktualizuj pakiet urzędu certyfikacji systemu operacyjnego. Jeśli używany jest zatwierdzony korporacyjny serwer proxy do inspekcji, dodaj jego zaufany urząd certyfikacji do środowiska wykonawczego PHP. Nie wyłączaj weryfikacji TLS ani nie używaj jej curl -kw przypadku żądania App Store, ponieważ osłabia to ochronę przed podszywającym się hostem pobierania.
Ilustracja: sprawdź konfigurację Nextcloud pod kątem serwera proxy wychodzącego i ustawień App Store bez ujawniania danych uwierzytelniających.
4. Sprawdź adres URL App Store i uprawnienia instalacji
App Store jest domyślnie włączony, a jego domyślny adres URL to https://apps.nextcloud.com/api/v1. Sprawdź config/config.phplub zapytaj o wartości efektywne za pomocą occ:
Jeśli appstoreenabledparametr ma wartość fałsz, włącz go tylko wtedy, gdy polityka zezwala na publiczny sklep. Jeśli appstoreurlwskazuje na stary lub niedostępny sklep niestandardowy, przywróć ustawienia domyślne tylko wtedy, gdy zamierzasz korzystać z publicznego sklepu z aplikacjami NextCloud. Organizacje korzystające z samodzielnie hostowanego sklepu z aplikacjami powinny zachować ten adres URL i zamiast tego naprawić jego ustawienia DNS, certyfikat lub ścieżkę dostępu.
Jeśli katalog się załaduje, ale instalacja nadal się nie powiedzie, sprawdź apps_pathswpisy w obowiązującej konfiguracji. Przynajmniej jeden skonfigurowany katalog aplikacji musi mieć uprawnienia do zapisu dla użytkownika serwera WWW Nextcloud. Popraw właściciela lub grupę katalogu oraz jego uprawnienia do zapisu; nie ustawiaj uprawnień do zapisu dla wszystkich użytkowników. Aplikacja, która jest blokowana przez listę dozwolonych w organizacji lub jest niezgodna z Twoją wersją Nextcloud, również wymaga polityki administratora lub decyzji dotyczącej wersji, a nie zmiany sieci.
5. Spróbuj ponownie, a następnie dostosuj limit czasu tylko wtedy, gdy dowody wskazują na powolność
Po pomyślnym sprawdzeniu DNS, HTTPS, proxy, TLS i konfiguracji, spróbuj ponownie przeprowadzić instalację ze strony aplikacji lub za pomocą tego samego occ app:installpolecenia. Jeśli żądanie jest osiągalne, ale stale trwa dłużej niż skonfigurowany limit czasu metadanych, NextCloud 33 i nowsze wersje mogą ustawić go na wyższy. Na przykład:
Wydłuża to czas oczekiwania do 180 sekund; nie naprawia zablokowanego ruchu wychodzącego, błędnego certyfikatu ani nieprawidłowego adresu URL sklepu. Udokumentowana wartość domyślna to 120 sekund w NextCloud 33 i nowszych. Aby usunąć nadpisanie i powrócić do wartości domyślnej:
W przypadku serwera celowo odizolowanego od sieci, obsługiwanym sposobem konfiguracji jest zatwierdzony, samodzielnie hostowany sklep z aplikacjami. Nie próbuj rozwiązywać problemu, pobierając dowolny plik ZIP z aplikacją i umieszczając go w katalogu aplikacji. Skorzystaj z zaufanego źródła i sprawdź, czy wersja jest zgodna z Twoim serwerem.
Ilustracja: ogólne polecenie i widok dziennika; rzeczywiste szczegóły błędu muszą pochodzić z serwera, którego dotyczy problem.
Weryfikacja
Sprawdź, czy katalog App Store się załadował, czy odpowiednia aplikacja została zainstalowana i pojawiła się na liście włączonych aplikacji, a w dzienniku nie zarejestrowano już błędu połączenia, TLS ani przekroczenia limitu czasu dla tej próby. Jeśli punkt końcowy odpowiada z poziomu środowiska wykonawczego NextCloud, ale interfejs użytkownika nadal informuje o braku internetu, porównaj adres URL i ustawienia App Store, sprawdź różnice w środowisku proxy między PHP-FPM a interfejsem wiersza poleceń (CLI) i sprawdź, czy tylko jedna aplikacja jest zablokowana lub niekompatybilna.