Stel de canonieke basis-URL van Nextcloud in op het adres dat gebruikers daadwerkelijk gebruiken en zorg er vervolgens voor dat de Nextcloud-server dat adres zelf kan oplossen en er verbinding mee kan maken. Voor een typische HTTPS-installatie is de belangrijkste instelling overwrite.cli.url; als Nextcloud zich achter een reverse proxy bevindt, corrigeer dan ook het doorgestuurde protocol of de webroot alleen als uw configuratie dit vereist.
Een waarschuwing met de beschrijving "Server heeft geen uitgaand adres" kan erop wijzen dat Nextcloud geen adres kan genereren of verifiëren dat verwijst naar de eigen webserver. In de huidige Nextcloud-documentatie wordt bij verschillende configuratiecontroles vereist dat de webserver een van de vertrouwde domeinen of het geconfigureerde adres kan bereiken overwrite.cli.url. Dit verschilt van een algemene waarschuwing "geen werkende internetverbinding", die wijst op problemen met de DNS-, firewall- of proxytoegang tot externe services.
Welke URL moet Nextcloud gebruiken?
Kies de stabiele URL die uw gebruikers normaal gesproken invoeren. Als gebruikers bijvoorbeeld openen https://cloud.example.com, gebruik dan exact hetzelfde schema en dezelfde hostnaam. Als de installatie vanuit een subdirectory wordt aangeboden, zoals https://example.com/nextcloud, voeg dan toe /nextcloudaan de basis-URL. Vermijd het gebruik van localhostof een privécontainernaam als canonieke URL wanneer gegenereerde links moeten werken voor mensen buiten die machine.
Nextcloud gebruikt overwrite.cli.urldeze URL als canonieke basis-URL wanneer het links genereert buiten een normale browseraanvraag, inclusief in de context van de commandoregel en achtergrondtaken. Dit maakt het een geschikte instelling wanneer een waarschuwing of een kapotte link wordt veroorzaakt door een onjuiste URL die tijdens de installatie is afgeleid.
Stel de canonieke basis-URL in.
Ga in een standaard Linux-installatie naar de Nextcloud-directory die occ—meestal— de volgende opdracht bevat /var/www/nextclouden voer deze opdracht uit als de webservergebruiker:
cd /var/www/nextcloud
sudo -u www-data php occ config:system:set overwrite.cli.url --value="https://cloud.example.com"
Vervang de voorbeeld-URL door uw echte openbare adres. Voor een installatie in een subdirectory, voeg het pad toe, bijvoorbeeld https://example.com/nextcloud. Als uw installatie een ander webserveraccount, container of pakketstructuur gebruikt, gebruik dan de gedocumenteerde methode van die implementatie om uit te voeren occ; het bovenstaande pad en account zijn niet universeel.
Je kunt de bestaande gegevens ook bewerken config/config.phpen deze vermelding aan de $CONFIGarray toevoegen:
'overwrite.cli.url' => 'https://cloud.example.com',
Maak geen tweede $CONFIGarray aan en overschrijf de rest van het bestand niet. Behoud de afsluitende komma als er andere items volgen. Maak een back-up buiten de actieve configmap voordat u handmatige wijzigingen aanbrengt; Nextcloud kan extra bestanden die eindigen op .php vanuit die map laden .config.phpals live configuratie.
Wat verandert er als Nextcloud zich achter een reverse proxy bevindt?
Een reverse proxy accepteert het openbare HTTPS-verzoek en stuurt het door naar Nextcloud, soms via gewoon HTTP op een privénetwerk. Nextcloud kan dan het verkeerde schema, de verkeerde hostnaam of het verkeerde pad afleiden bij het genereren van de eigen URL. De officiële handleiding voor reverse proxy's raadt aan om de overschrijfparameters alleen te gebruiken wanneer automatische detectie mislukt, en het proxyadres te vermelden onder trusted_proxies.
Voor een proxy die 10.0.0.1Nextcloud op hostnaam https://cloud.example.com/nextcloud, zien de relevante vermeldingen in de bestaande configuratie-array er als volgt uit:
'trusted_proxies' => ['10.0.0.1'],
'overwriteprotocol' => 'https',
'overwritewebroot' => '/nextcloud',
'overwrite.cli.url' => 'https://cloud.example.com/nextcloud',
Gebruik het daadwerkelijke adres dat Nextcloud ziet voor de proxy en het openbare pad in uw implementatie. Voor een installatie met een rootdomein kunt u dit weglaten, overwritewebroottenzij een specifieke proxyconfiguratie dit vereist. Nextcloud merkt op dat dit overwritehostin de meeste configuraties niet nodig is, omdat het de hostnaam kan lezen die door de proxy wordt doorgestuurd; stel dit alleen in als u een specifieke hostnaam moet afdwingen. Onjuiste proxyvertrouwens- of doorstuurheaderinstellingen kunnen van invloed zijn op hoe client-IP-adressen worden geïnterpreteerd, dus kopieer geen voorbeeldadres zonder uw topologie te controleren.
Kan de server die URL bereiken vanuit zijn eigen netwerk?
Test vanaf de Nextcloud-host of vanuit de Nextcloud-container als de service in Docker draait. Controleer eerst de naamresolutie en doe vervolgens een HTTPS-verzoek:
getent ahosts cloud.example.com
curl -I https://cloud.example.com/status.php
De hostnaam moet verwijzen naar het beoogde, bereikbare adres en het verzoek moet een HTTP-antwoord van Nextcloud retourneren zonder certificaatfout. Een succesvol verzoek vanaf uw laptop bewijst niet dat de server dezelfde URL kan bereiken. Thuisservers achter een router kunnen problemen ondervinden wanneer ze hun eigen openbare adres proberen te bereiken vanuit het LAN; dit wordt vaak een hairpin NAT- of NAT-loopbackprobleem genoemd. Configureer split DNS zodat dezelfde openbare hostnaam intern verwijst naar het LAN-adres van de reverse proxy, of schakel het ondersteunde loopback-gedrag van de router in. Houd de canonieke URL openbaar, zodat links die naar externe gebruikers worden verzonden geldig blijven.
Los een certificaatprobleem niet op door te curl -kbeweren dat HTTPS correct werkt. Installeer of configureer een certificaatketen die wordt vertrouwd door het systeem of de container waarop Nextcloud draait, en herhaal de test vervolgens op de gebruikelijke manier.
Wanneer moet je de algemene uitgaande internettoegang controleren?
Als de beheerderspagina specifiek aangeeft dat Nextcloud geen werkende internetverbinding heeft of meerdere externe eindpunten niet kan bereiken, overwrite.cli.urlzal een wijziging alleen de internetverbinding niet herstellen. Controleer de DNS-resolutie en de uitgaande firewallregels vanaf de server. Als uw netwerk een HTTP-proxy vereist, configureer dan de ondersteunde Nextcloud-proxy-instellingen of de omgeving die wordt gebruikt door PHP en achtergrondtaken; een proxy die alleen in een interactieve shell is ingesteld, is mogelijk niet beschikbaar voor geplande taken.
Controleer de oplossing.
Vernieuw het beheerdersoverzicht nadat Nextcloud de canonieke URL kan oplossen en bereiken. Controleer of het adres de juiste HTTPS-hostnaam en eventuele submappen gebruikt, maak vervolgens een testlink aan en controleer of deze dezelfde bereikbare host bevat. Als de waarschuwing voor het uitgaande adres verdwijnt, maar er nog steeds een waarschuwing voor de internetverbinding verschijnt, onderzoek dan de uitgaande toegang afzonderlijk. De huidige beheerdershandleiding van Nextcloud beschrijft de URL- en reverse-proxy-instellingen; de exacte schermtekst kan per release en vertaalde interface verschillen.
Officiële referenties