Nextcloud mit Reverse Proxy

Moin zusammen,

wieder eine Woche vergangen und ich komme leider von alleine nicht drauf

Daher bitte ich um Hilfe :confused:

Möchte Nextcloud in einem LXC installieren und von außen mit dem bereits vorhandenem Nginx Reverse Proxy (lĂ€uft in Docker) erreichen.

Habe gefĂŒhlt alle Anleitungen durch. Aber das eigentliche Ziel konnte ich bislang nie erreichen

Habe auch nicht nicht herausfinden können, ob die Installation mit Apache2 oder Nginx fĂŒr diese Konstellation besser ist?

Z.b. die schon oft erwÀhnte Anleitung von C.Rieger
Nextcloud 23 Installationsanleitung mit Apache2 - Carsten Rieger IT-Services (c-rieger.de)

Die Zertifikat Einstellungen muss ich ja weglassen da das der Reverse Proxy ĂŒbernimmt?
nano /etc/apache2/mods-available/http2.conf //fĂŒhrt das ohne SSL zu Problemen?

nano /etc/apache2/sites-available/001-nextcloud.conf

<VirtualHost *:80>
ServerName ihre.domain.de   //    IP wo Nextcloud installiert wird?
ServerAlias ihre.domain.de     // ??
ServerAdmin mail@domain.de   // löschen
DocumentRoot /var/www/html/nextcloud
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =ihre.domain.de
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

nano /etc/apache2/sites-available/001-nextcloud-le-ssl.conf Das mĂŒsste ich dann ja weglassen?

Wie mĂŒsste /html/nextcloud/config/config.php aussehen.

Wie geschrieben. Habe wirklich sehr viel probiert


Danke fĂŒr die UnterstĂŒtzung!

wenn du bereits docker verwendest warum nimmst du nicht das docker container von Nextcloud? auch wenn es nicht falsch ist, finde ich es besser unterschiedliche Technologien nicht zu mischen


Konfiguration der verbreiteten reverse proxies findest du hier:

https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/reverse_proxy_configuration.html

So wieder von vorne. ich poste mal ein paar Daten. WĂŒrde mich freuen wenn ich einen Tipp bekomme :slight_smile:

Installiert ist nun Ubuntu 20.04 im LXC
PHP8 mit den notwenigen erweiterungen
MariaDB 10.5
Apache 2.4.41

*sudo nano /var/www/nextcloud/config/config.php*


<?php
$CONFIG = array (
  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'cloud.domian.de',          **// meine Domain**
    2 => '192.168.1.3',                  **// IP wo NC installiert ist** 
    3 => '192.168.1.6',                       **//mein Revere Proxy**
  ),
  'trusted_proxies' =>
  array (
    0 => '192.168.1.6',   // **mein Reverse Proxy**
  ),
  'log_type' => 'file',
  'logtimezone' => 'Europe/Berlin',
  'loglevel' => 2,
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'datadirectory' => '/data/nextcloud/',
  'skeletondirectory' => '/data/nextcloud/skeleton',
  'filelocking.enabled' => 'true',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'redis' =>
  array (
    'host' => '/var/run/redis/redis-server.sock',
    'port' => 0,
    'timeout' => 1.5,
  ),
  'default_language' => 'de',
  'default_locale' => 'de_DE',
  'default_phone_region' => 'DE',
  'trashbin_retention_obligation' => '15, 30',
  'updater.release.channel' => 'stable',
  'overwrite.cli.url' => 'https://subdomain.domain.tld/',
  'overwriteprotocol' => 'https',
  'htaccess.RewriteBase' => '/',
  'instanceid' => 'ocr7v07nykxd',
);

sudo nano /etc/apache2/sites-available/nextcloud.conf

<VirtualHost *:80>
    # ServerAdmin admin@domain.tld
     DocumentRoot /var/www/nextcloud/
    # ServerName subdomain.domain.tld
     ServerAlias 192.168.1.3

     #Alias /nextcloud "/var/www/nextcloud/"
     #Fix fĂŒr __Host-prefix

     <Directory /var/www/nextcloud/>
        Options FollowSymlinks MultiViews
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

RewriteEngine on
</VirtualHost>

Bin hauptsÀchlich nach der Anleitung https://www.schreiner.pro/?p=143#comment-209 vorgegangen
PHP install von C.Rieger Tutorial.
Die DB ist aber Lokal

So wie es jetzt ist:
unter 192.168.1.3 kommt das Install Interface (http) von Nextcloud. Sobald ich da meine Daten eintrage ist es vorbei


Meldung im Browser: Beim Verbinden mit 192.168.1.3 trat ein Fehler auf. PR_END_OF_FILE_ERROR

Einrichtung ĂŒber Domin geht
?? Warum???

Könnt ihr mir dabei bitte helfen

Edit:
Die Medungen werden angezeigt. Aber denke das ist was anderes?

    Der "Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens "15552000“ Sekunden eingestellt. FĂŒr mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den Sicherheitshinweisen ↗ erlĂ€utert ist.

    Dein Webserver ist nicht richtig konfiguriert, um "/.well-known/caldav" aufzulösen. Weitere Informationen hierzu findest Du in unserer Dokumentation ↗.
    Dein Webserver ist nicht richtig konfiguriert, um "/.well-known/carddav" aufzulösen. Weitere Informationen hierzu findest Du in unserer Dokumentation ↗.

heisst das wenn du du den setup per cloud.domian.de startes/durcharbeitest kommst du zum schluss und hast eine funktionierende cloud?

  • wenn ja, was ist das Problem?

vermutlich entsteht das Problem durch diese conig:

'overwrite.cli.url' => 'https://subdomain.domain.tld/',

damit weist du die NC alle URLs/redirections fĂŒr die adresse https://subdomain.domain.tld/<gewĂŒnschte ressource> zu erstellen und beim setup wirst du irgendwann dorthin weitergeleitet und kannst verm nicht auf diese Adresse zugreifen.

die beiden Werte 'trusted_domains' und 'overwrite.cli.url' sollten zusammen passen.

btw: trusted_domains braucht den Eintrag 3 fĂŒr RP nicht (und normalerweise auch nicht localhost und locale IP). Dort werden Domain eingetragen fĂŒr die sich NC “zustĂ€ndig” fĂŒhlt
 d.h. hostnamen, die der Client aufruft (bzw der Reverse Proxy zum NC weitergibt)

Das schreibt c-rieger auch:

Hinweis: Proxmox-User sollten eine eigene VM und keinen LXC-Container verwenden. Viele Benutzer berichten von Problemen, die aus den Besonderheiten der LXC-Container resultieren.

Das ist fast richtig. Das Setup geht. Vom PC (Wo ich installiert habe) komme ich nun ĂŒber cloud.domian.de auf die Cloud. Per App oder Safari geht es nicht???

‘overwrite.cli.url’ => ‘https://subdomain.domain.tld/’,

Muss ich hier einfach meine Domain eintragen? Edit: Habe ich gemacht. Keine Ànderung

Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens "15552000“

Die einstellung habe ich auch nicht gefunden.

Die beiden caldav /carddav Meldungen liegen soweit ich das verstanden habe an der Reverse Proxy Einstellung?

Danke!!! :slight_smile:

Habe einen Mix aus Nextcloud 23 Installationsanleitung mit Apache2 - Carsten Rieger IT-Services (c-rieger.de)

und Schreiners IT » Nextcloud hinter Reverse Proxy installieren

Wobei ich mehr letzteres benutz habe

Über einen anderen PC geht es auch. Nur via app nicht?

Sonderinstallationen ergeben immer Sonderprobleme.
Das kenne ich.

Leider kann ich dir nicht weiter helfen.

Was wÀre den eine gute Anleitung die zu 100% funktioniert?
Ich hab ewig gebraucht um soweit zu kommen :dizzy_face:

Wenn ich die Anleitung von C.Rieger benutzte klappt das mit dem Reverse Proxy nicht. Oder ich bin zu blöd das einzustellen

Aber wie auch immer wĂ€re es schön zu wissen warum ich von eine PC auf die cloud komme und mit der App und dem Handy nicht


// Mit der Windows App geht es vom pc aus

Alles was im selben Netz ist geht durch. Alles andere wird geblockt.
Ist die Firewall Firewall die bei dem Tutorial von C. Rieger installiert wurde?

Kann ich die deaktivieren? ufw disable
 hat nichts gebracht

Ich wĂŒrde dir empfehlen einen Gang zurĂŒck zu schlaten und das System in Ruhe anzuschauen. Es bringt dich selten weiter viele Tutorials durchzuarbeiten (vor Allem unterschiedliche zu kombinieren), im schlimmsten Fall hebelst du Ideen und Massnahmen beider Tutorials aus. Ich versuche immer zu verstehen was im Tutorial passiert, im Zweifel ein 2., 3., 4. durchgehen bis man versteht wie die Sachen zusammenhĂ€ngen
 meistens hast du recht wenige Einstellungen die wichtig sind z.B. Hostnamen der Cloud, Datenbank, externe Domain, der Rest ist Finetuning


Und ganz wichtig: bitte poste nicht endlos Links zu unterschiedlichen Tutorials
 es ist absolut positiv dass du selbst Informationen besorgst und versuchst diese umzusetzen
 hier im Forum wird kaum jemand Lust haben 3-4 Tutorial durchzugehen, kombinieren und “deinen” Fehler zu finden. Versuche das Problem so einfach wie möglich einzugrenzen, beschreiben und dann eine konkrete Frage zu stellen - so hast du beste Chancen ein zielfĂŒhrende Antwort zu bekommen.

Wenn du sagst Windows Client geht, heisst es schon mal dass deine Cloud mit der DB Anbindung, Zugriff aufs Dateisystem und Reverse Proxy funktioniert. Mache jetzt keinen Stress und schaue es dir in Ruhe an
 meiner Erfahrung nach kann Android Probleme machen wenn man aus dem internen Netz mit externer FQDN auf die Could zugreift, weil Android seit einiger Zeit IPv6 bevorzugt
 und wenn deine Domain IPv6 auflöst, was zB im Router/Host Firewall nicht freigegeben ist bekommst du ein Problem. Versuche es aus dem Internet - wenn es geht kann Rebind Protection oder IPv6 das Problem sein und Split-Brain DNS die Lösung


Android ist generell etwas :face_vomiting: wenn es um TLS geht - aus irgeneinem Grund ist Google super scharf darauf perfektes TLS in jeder Situation zu erzwingen - da kann HSTS, falsches Cypher schon ein Thema werden
 wie gesagt versuche es hicht ĂŒbers Knie zu brechen
 schaue dir jede Situation in Ruhe an und mit mehreren Clients
 manchmal muss man nach einer Änderung einfach etwas warten, bis DNS, browser und was auch immer fĂŒr Caches abgelaufen sind (nicht mal Reboot garantiert bei Smartphone’s Abhilfe)

Da baut man evtl. viele Fehler ein, das kann ich bestÀtigen.

Die ReleasestÀnder von php usw. sind auch von Relevanz.

Da verknoten sich meine Synapsen. :slight_smile:

c-rieger schreibt:

HINWEIS:
Aufgrund eines Bugs in MariaDB 10.6.6 kommt es aktuell zu massiven Problemen mit dem Repository. Aus diesem Grund wurde vorĂŒbergehend das MariaDB – Paket 10.6 durch 10.5 ersetzt und die my.cnf entsprechend angepasst.

Guten Abend. Danke fĂŒr das Feedback

Habe das ja leider x mal Probiert und mir nach den ersten Fehlerversuchen auch versucht zu verstehen was da ĂŒberhaupt eingegeben wird und vor allem Warum.
Im Großen und Ganzen habe ich die Notwendigkeit der schritte verstanden. Die ganzen Optimierungen nicht. Aber denke das der Rieger sich was dabei gedacht hat.

Installiert ist PHP8 mit den Modulen wie bei C. Rieger beschrieben,
MariaDb 10.5 und Apache, sowie ufw und Fail2ban.

Nextcloud ist in dem LXC mit der ip 192.168.1.3 Installiert.
Über Nginx Reverse Proxy wird die Domain weitergeleitet. Hier sind noch keine weiteren Einstellungen gemacht worden.

Was geht ist der Zugriff aus dem Netz 192.168.1.0/24. Mit allen Client’s

Alle anderen VLan’s oder aus dem Mobilen Internet wir nicht mal das Interface angezeigt. (Timeout wird angezeigt)

Sind noch Infos oder Log Daten hilfreich?

Nochmals Danke fĂŒr die Hilfe!!

Hallo, wo lag dein Fehler?
Was hast Du anders gemacht?

es scheint wohl irgendwo etweder eine Firewall blockt oder die Route zu fehlt 
 du solltest die ganze Kette Schritt fĂŒr Schritt an jedem Punkt kontrollieren: Router (Port Forward), Reverse Proxy, Nextcloud - sieht man den Zugriff, gibt’s Fehler (zB die Anfrage wird zu falschen Zeil weitergeleitet
)?

kannst du mir bitte kurz beschreiben wie ich das am besten Testen kann?
Bin leider nicht weiter

Warum auch immer geht es mit dem Android handy von meiner Frau und mit einem PC bei schwiegereltern.
Mit dem iPhone von meinem Soh und meinem geht der Zugriff nicht


Das ist mir zu hoch

Leider ist der Fehler noch nicht behoben

Hallo, hast du mal versucht fĂŒr deine Nextcloud im Nginx Proxy Manager bei Advanced → Custom Nginx Configuration folgendes hinzuzufĂŒgen: “proxy_hide_header Upgrade;”
Das sollte die Probleme ab IOS 14 beheben. Falls das die restlichen Probleme löst, wÀre ich daran interessiert eine kurze Zusammenfassung zu hören, wie (welche Anleitung/Einstellungen) du die Nextcloud letzendlich im LXC mit dem NPM zum laufen gebracht hast.

1 Like

grafik

WĂ€re das so richtig?
Leider klappt das nicht

Wenn alles lÀuft schreibe ich detaliert was ich wo eingetragen habe

Wenn das der Reverse Proxy auf deine Nextcloud IP ist und du anschließend noch mit save bestĂ€tigt hast dann ja. Hast du den in den Nginx Proxy Manager Einstellungen fĂŒr deine Nextcloud Port 443 mit https und Websocket ausgewĂ€hlt? Ich geh davon aus das du den Port (TCP 80 & 443) in deinem Router fĂŒr die Docker IP Adresse auf der Nginx Proxy Manager lĂ€uft auch freigegeben ist? SSL habe ich mit Force SSL und HTTP/2 Support aktiviert. So klappt es jedenfalls bei meiner die in einer VM lĂ€uft. Der Fix kommt ĂŒbrigens aus diesem Thread: https://help.nextcloud.com/t/nextcloud-nginx-proxy-manager-cant-connect-from-ios/95861