Jak naprawić ostrzeżenie Nextcloud „Serwer nie ma adresu wychodzącego”
Jeśli to ostrzeżenie pojawi się w Ustawieniach administracyjnych Nextcloud → Przegląd, najpierw sprawdź, czy serwer Nextcloud może rozwiązać i dotrzeć do własnego kanonicznego adresu URL. Ustaw overwrite.cli.urladres URL, z którego faktycznie korzystają użytkownicy, a następnie przetestuj go z tego samego hosta lub kontenera, na którym działa Nextcloud. Nie zaczynaj od przypisania serwerowi stałego publicznego adresu IP wychodzącego.
Dokładne sformułowanie „Serwer nie ma wychodzącego adresu wskazującego” nie zostało potwierdzone w aktualnym Podręczniku Administracyjnym Nextcloud. Może to być parafraza, tłumaczenie lub inne ostrzeżenie. Poniższe rozwiązywanie problemów jest zgodne z udokumentowanymi kontrolami samopołączenia w Przeglądzie Administracyjnym. Jeśli komunikat pojawił się podczas konfigurowania poczty e-mail, skorzystaj z oddzielnej sekcji SMTP poniżej.
Co sprawdza Nextcloud i czego nie oznacza
Od wersji NextCloud 28, kontrole konfiguracji widoczne w Ustawieniach administracji → Przegląd są uruchamiane z poziomu serwera, a nie przeglądarki. W notatkach dotyczących aktualizacji NextCloud podano, że kontrole te mogą ujawnić problemy z rozpoznawaniem nazw domen (DNS) trusted_domains, overwrite.cli.urlłącznością między serwerami, zaporami sieciowymi i sieciami kontenerów. Oznacza to, że ścieżka sieciowa serwera ma znaczenie: adres URL, który działa w przeglądarce laptopa, może nadal nie działać z hosta lub kontenera NextCloud. Notatki dotyczące kontroli konfiguracji NextCloud 28 opisują tę zmianę i obszary do sprawdzenia.
Różni się to od publikowania rekordu DNS kierującego ruch internetowy do serwera. Instalacja prywatna może korzystać z wewnętrznej nazwy hosta lub adresu, jeśli administratorzy i użytkownicy uzyskują do niej dostęp w ten sposób. Dostęp zewnętrzny, federacja, publiczne linki udostępniania i wydawanie certyfikatów mogą wiązać się z odrębnymi wymaganiami. Najpierw zanotuj dokładnie, gdzie pojawiło się ostrzeżenie oraz jaką wersję NextCloud i metodę instalacji używasz.
Strona Przegląd to miejsce, w którym Nextcloud wyświetla kontrole konfiguracji serwera. Ta ilustracja interfejsu pokazuje lokalizację, a nie rzeczywiste ostrzeżenie ani wynik testu.
1. Przed edycją przeczytaj aktualne ustawienia adresu URL i serwera proxy
Nextcloud przechowuje swoją główną konfigurację w config/config.php, ale ścieżka i polecenie użyte do uruchomienia occzależą od sposobu instalacji Nextcloud. W instalacji źródłowej uruchom poniższe polecenie z katalogu Nextcloud, zastępując przykładową ścieżkę i konto serwera WWW swoimi własnymi:
Nieustawiona wartość może nie generować żadnych danych wyjściowych. W przypadku Snap, Dockera lub urządzenia, uruchom obsługiwane polecenie instalacji occw oczekiwanym środowisku; polecenie PHP po stronie hosta może odczytać nieprawidłową konfigurację lub w ogóle jej nie odczytać. Przed edycją utwórz kopię aktywnej konfiguracji i przechowuj ją poza katalogiem Live NextCloud, configaby nie można jej było załadować jako dodatkowego pliku konfiguracyjnego.
trusted_domainsto lista nazw hostów lub adresów IP akceptowanych przez Nextcloud w żądaniach przychodzących. overwrite.cli.urlto kanoniczny adres URL używany, gdy Nextcloud generuje adresy URL poza zwykłym żądaniem internetowym, na przykład z crona lub wiersza poleceń. Powinien zawierać schemat oraz, w stosownych przypadkach, podkatalog instalacyjny. Aktualny dokument referencyjny konfiguracji Nextcloud dokumentuje te parametry adresu URL i serwera proxy.
2. Przetestuj DNS i HTTPS ze środowiska Nextcloud
Użyj tej samej nazwy hosta, która pojawia się w overwrite.cli.url. Uruchom te sprawdzenia na serwerze Nextcloud. Jeśli Nextcloud jest konteneryzowany, uruchom je w kontenerze aplikacji lub równoważnym kontenerze w tej samej sieci:
Zastąp ją cloud.example.comswoją prawdziwą nazwą hosta. Jeśli NextCloud jest zainstalowany w podkatalogu, takim jak /nextcloud, dodaj tę ścieżkę przed /status.php. getentpowinno zwrócić adres, do którego serwer może skierować ruch. Polecenie curlpowinno zakończyć weryfikację TLS i otrzymać normalną odpowiedź HTTP z punktu końcowego statusu NextCloud. Awaria DNS, przekroczenie limitu czasu, odmowa połączenia, błąd certyfikatu lub nieoczekiwane przekierowanie zawęża problem do rozpoznawania nazw, routingu/zapory sieciowej, odwrotnego serwera proxy lub protokołu TLS. Nie dodawaj, -kaby ominąć sprawdzanie certyfikatów; to ukrywa problem zamiast go rozwiązać.
Przeprowadź kontrole DNS i HTTPS z serwera lub kontenera, w którym działa Nextcloud. Sam test przeglądarki klienta nie zweryfikuje tej trasy.
Jeśli DNS zwraca zarówno IPv4, jak i IPv6, sprawdź, czy oba są celowe i dostępne ze środowiska Nextcloud. Nieaktualny rekord AAAA może spowodować, że niektóre klienty lub kontrole po stronie serwera wybiorą nieużyteczną trasę IPv6. Usuń lub popraw rekord DNS dopiero po potwierdzeniu, że adres nie jest już obsługiwany. Jeśli domena jest rozwiązywana na Twój publiczny adres IP, ale serwer nie może nawiązać połączenia przez router, sprawdź pętlę NAT (zwaną również Hairpin NAT) lub skonfiguruj DNS z podziałem horyzontu, aby nazwa hosta była rozwiązywana na adres wewnętrzny z Twojej sieci.
3. Ustaw kanoniczny adres URL na adres, którego faktycznie używają użytkownicy
W przypadku instalacji źródłowej należy ustawić overwrite.cli.urladres URL używany zewnętrznie lub wewnętrznie, łącznie z protokołem HTTPS i podkatalogiem, jeśli istnieje. Na przykład:
Jeśli użytkownicy uzyskują dostęp do Nextcloud pod adresem https://example.com/nextcloud, należy uwzględnić /nextcloudtę wartość. Nie należy wpisywać nazwy hosta SMTP ani ścieżki do strony, takiej jak /settings/admin. Nextcloud opisuje to jako kanoniczny adres URL bazowy do generowania adresów URL z poziomu wiersza poleceń i w tle. Przykładowa ścieżka i konto powyżej to tylko typowe wartości instalacji źródłowej; instalacje Snap i kontenerów wymagają własnego, udokumentowanego polecenia.
Jeśli nazwa hosta nie występuje w trusted_domains, dodaj ją, używając kolejnego nieużywanego indeksu numerycznego. Najpierw sprawdź istniejącą listę, aby nie zastąpić bieżącego wpisu:
Zmień 1indeks na nieużywany w swojej instalacji. Dodaj tylko nazwy hostów lub adresy IP, które powinny być akceptowane przez NextCloud. To ustawienie nie tworzy rekordów DNS i nie udostępnia publicznie serwera prywatnego.
Nazwa hosta w pliku trusted_domains i pełny kanoniczny adres URL służą różnym celom. Użyj swojego prawdziwego hosta i, w przypadku pliku overwrite.cli.url, uwzględnij poprawny schemat i katalog główny.
4. Stosuj ustawienia odwrotnego serwera proxy tylko wtedy, gdy wymaga tego Twoja topologia
Gdy serwer proxy odwrotny kończy protokół HTTPS i wysyła protokół HTTP do Nextcloud, aplikacja może wykryć protokół wewnętrzny zamiast schematu HTTPS przeznaczonego dla użytkownika. Nextcloud wymaga podania rzeczywistych adresów proxy w polu trusted_proxies. Serwer proxy musi również wysłać odpowiednie przekierowane nagłówki. Nieprawidłowe zaufanie do serwera proxy lub rozległej sieci może pozwolić klientom na podszywanie się pod ich pozorny adres IP, dlatego nie należy dosłownie kopiować przykładowego adresu IP serwera proxy.
Jeśli automatyczne wykrywanie adresów URL nadal nie działa, ustaw tylko niezbędne wartości nadpisywania. W przypadku serwera proxy, który kończy TLS, overwriteprotocolmoże być konieczne ustawienie https. Ustaw overwritehosttylko wtedy, gdy Nextcloud nie może użyć prawidłowego hosta przekazanego przez serwer proxy; ustaw overwritewebroottylko wtedy, gdy ścieżka publiczna nie zostanie poprawnie wykryta. Aktualny przewodnik po odwrotnym serwerze proxy Nextcloud zawiera przykłady i ostrzega, że ustawienia zaufanego serwera proxy zależą od oprogramowania serwera proxy i sieci.
Ufaj tylko prawdziwemu adresowi proxy odwrotnego. Przykładowe wartości to symbole zastępcze; użyj adresów i schematu z własnej konfiguracji proxy.
5. Sprawdź zaporę sieciową, DNS i trasę kontenera, jeśli adres URL nadal nie działa
Jeśli adres URL jest poprawny, ale test po stronie serwera curlkończy się niepowodzeniem, sprawdź ścieżkę między Nextcloud a tym adresem URL. Upewnij się, że wychodzący ruch HTTPS jest dozwolony, kontener może wysyłać zapytania do DNS, a odwrotny serwer proxy może kierować żądanie z powrotem do aplikacji. Zapora hosta, grupa zabezpieczeń chmury, router, reguła serwera proxy lub sieć kontenera mogą zablokować tę ścieżkę. Dokumentacja Nextcloud wyraźnie wskazuje na konfigurację zapory sieciowej i kontenera, gdy kontrole po stronie serwera nie mogą dotrzeć do skonfigurowanych adresów URL.
Nie otwieraj portów przychodzących do całego internetu tylko po to, by wykonać autotest. Jeśli jest to celowo prywatny serwer Nextcloud, użyj nazwy hosta i trasy, które są prawidłowe w obrębie sieci prywatnej. Publiczny DNS, przekierowanie routera i adres dostępny zewnętrznie są potrzebne tylko dla usług, które muszą być dostępne z zewnątrz. Jeśli znajdujesz się za NAT-em dostawcy, który blokuje dostęp przychodzący, VPN lub obsługiwany odwrotny serwer proxy/tunel mogą być bardziej odpowiednie niż zmiana listy zaufanych domen Nextcloud.
Jeśli wiadomość pochodzi ze strony ustawień poczty e-mail
Poczta e-mail to osobna funkcja. Nextcloud nie zawiera kompletnego serwera poczty; łączy się z istniejącym serwerem SMTP, qmail lub instalacją Sendmail. W Ustawieniach administracji → Ustawienia podstawowe należy podać nazwę hosta i port serwera poczty, tryb szyfrowania, adres nadawcy oraz dane uwierzytelniające wymagane przez dostawcę poczty. Przetestuj za pomocą przycisku Wyślij e-mail w Nextcloud. Działający adres URL witryny Nextcloud nie dowodzi dostępności SMTP, a nazwa hosta SMTP nie zastępuje overwrite.cli.url. Przewodnik konfiguracji poczty e-mail Nextcloud wyjaśnia aktualną konfigurację poczty i jej testowanie.
Sprawdź wynik i unikaj częstych błędnych diagnoz
Po wprowadzeniu zmian powtórz sprawdzanie DNS i HTTPS z tego samego serwera lub kontenera, a następnie ponownie załaduj Ustawienia administracyjne → Przegląd. Upewnij się, że użytkownicy nadal mogą logować się za pomocą swojego zwykłego adresu URL, a linki generowane w tle korzystają z prawidłowego schematu i ścieżki. Jeśli ostrzeżenie nadal się wyświetla, przechwyć jego dokładny tekst, wersję Nextcloud, metodę instalacji oraz dane wyjściowe polecenia po stronie serwera. To pozwala odróżnić problem z wykryciem adresu URL od awarii SMTP lub problemu z polityką sieciową.
Zweryfikowano: Aktualna dokumentacja Nextcloud mówi, że kontrole konfiguracji po stronie serwera wymagają skonfigurowania nazw hostów i kanonicznych adresów URL, aby były rozpoznawane i dostępne z serwera.
Zależy to od konfiguracji: czy prawidłowa trasa wykorzystuje adres publiczny, adres prywatny, podzielony DNS, odwrotny serwer proxy, sieć kontenerową czy pętlę zwrotną NAT.
Samo sformułowanie nie potwierdza: że Nextcloud wymaga stałego publicznego adresu IP wychodzącego lub że ostrzeżenie dotyczy protokołu SMTP. Przed zmianą ustawień sieciowych lub pocztowych należy sprawdzić stronę i cały komunikat.
W większości przypadków, które odpowiadają sprawdzeniu łączności w Przeglądzie Administracyjnym, skorygowanie kanonicznego adresu URL i udostępnienie go z poziomu środowiska wykonawczego Nextcloud rozwiązuje podstawową niezgodność. Ogranicz zmiany w proxy i zaporze do ścieżki, z której faktycznie korzysta instalacja.