Nextcloud in ContainerStation kein https...

  • Hallo... habe gerade mal versucht die Nextcloud in der ContainerStation zu installieren. Unter http läuft alles problemlos... ich bekomme aber ums verrecken Nextcloud nicht als https geöffnet. Fehler = ERR_CONNECTION_REFUSED ?(
    Der Container selber hat ne eigene IP als Bridge...


    Jemand vielleicht eine Idee ?



    Gruss pastor

  • Hast Du bei der Installation die Weiterleitung des Ports 443 in den Container auch eingerichtet?

  • Kannst mir das bitte genauer erklären? Die Nextcloud im Docker wurde unter Netzwerk-Einstellungen als Bridge konfiguriert - da kann ich doch aber nur eine eigenständige IP für das jeweilige Docker-Image vergeben ... oder ? Hab es auch noch mit NAT probiert - unter Netzwerkeinstellungen bekomme ich da als Vorauswahl den Port 80 und kann dazu einen selbstausgesuchten Port eintragen. Zusätzlich habe ich auch einen Port auf die 443 gesetzt ... bekomme aber auf 443 wieder nur ERR_CONNECTION_REFUSED... Zugriff auf Port 80 ist in beiden Varianten möglich.


    Hab nun einiges dazu gegoogelt ... hat überhaupt schon jemand Nextcloud im Docker auf https erreicht? Eine Bestätigung dazu habe ich bis jetzt nicht gefunden ...

  • Ich werde das Thema vermutlich morgen angehen. Wenn es funktioniert kann ich ja gerne eine Anleitung erstellen.

  • also mit diesen Netzwerkeinstellungen ruft der dann erstellte Link bei mir den Port 32768 auf ... aber auch nicht mit https. In dieser Konfiguration war es auch nicht möglich MariaDB als Datenbank einzubinden...

  • habe es so probiert wie du oben beschrieben hast - also 443 (Host) auf 443 (Container) mit o. g. Ergebnis. Aufgefallen ist mir das diese Einstellungen nach dem erstellen des Containers so nicht mehr drin sind. Angezeigt wurde wieder 443 auf 80.
    Probiert habe ich dann auch noch 443 auf 443 und 80 auf 80. Kein anderes Ergebnis. In den Settings nach dem erstellen des Containers waren aber gar keine Ports mehr vorhanden. Webaufruf ging aber trotzdem. Beim Container ist auch der Port 80 bei der Erstellung schon eingetragen... . MariaDB mit NAT konnte ich noch nicht einmal einbinden - immer Fehlermeldung. Im Bridgemodus klappt das aber tadellos und ist auch funktionsfähig, aber kein https...
    ALs DB wurde nur die vom System benutzt.


    Hat denn der Zugriff mit https den wie in deinem Screenshot so funktioniert? Image ist das "last" von Nextcloud (Original) ? Konntest du was anderes ausser SQLITE einbinden?

    Einmal editiert, zuletzt von pastor ()

  • Hallo,


    habe das gleiche Problem. In der Apache Konfiguration kann man doch sicherlich alles ändern? Wo ist die Apacheconfig eigentlich im Containerverzeichnis auf der QNAP??

    Einmal editiert, zuletzt von miklein ()

  • gute frage... hab ich auch nicht so wirklich gefunden. Glaube aber nicht das es ein Problem des Webservers alleine ist, sondern das schon der Port beim starten des Container gesetzt wird...

  • Moin,


    HTTPS funktioniert mit dem offiziellen NextCloud-Image nicht ohne weiteres "out of the box". Der dahinterliegende Webserver ist nur für HTTP konfiguriert. Um HTTPS trotzdem zu ermöglichen muss der lokale Apache der Qnap als Reverse-Proxy zum Docker-Container konfiguriert werden. Leider kann ich dir da nicht helfen, da ich das selbst noch nie umgesetzt habe und nur weiß, dass es theoretisch funktionieren müsste. Auf dem Docker-Hub findest du unter NextCloud die passende Hilfestellung. Dort gibt es eine extra Sektion für HTTPS. Ich hoffe, das hilft dir etwas weiter.


    Ein anderer Weg wäre, dir ein lokales, eigenes Image auf Basis des offiziellen Images zu bauen und dann dieses als Grundlage für deinen Container zu verwenden. Diesen Weg fahre ich bei all meinen verwendeten Containern. Damit habe ich etwas mehr Möglichkeiten ein Image an meine Anforderungen anzupassen. Es handelt sich dabei allerdings um den komplizierteren Weg.


    Ciao
    ariaci

  • Ich werde das Thema vermutlich morgen angehen. Wenn es funktioniert kann ich ja gerne eine Anleitung erstellen.

    Hmmm -ich stehe vor demselben Problem, allerdings mit ownCloudX (was da aber keinen Unterschied machen sollte). Die Idee, einen NGINX / LetsEncrypt mit Docker parallel aufzusetzen und den dann zu nutzen, hat (noch) nicht hingehauen.
    Wie könnte man das doch ans Laufen kriegen?


    Gruß, St.

  • Moin,

    stehe vor demselben Problem mit dem Reverse Proxy.

    Hat es jemand hinbekommen und evtl. ein Tutorial dafür :)?


    Danke

    Todde

  • Hab mich letzte Woche mal damit beschäftigt und läuft auch... Wo brauchst denn Hilfe ?

  • Jetzt bin ich aber gespannt. Wie hast Du es denn zum Laufen bekommen. Kannst Du uns z.B. ein Docker-Compose-File schicken? Das wäre super...

  • Hallo,


    ich versuche mal einen Schnelldurchlauf, zur Konfiguration eines Apache-Webservers, der einen spezifischen Host zur einem anderen Server als Proxy durchleitet ...


    Folgenden Inhalt hat meine Konfiguration des php-apache-Containers:


    Der erste VirtualHost-Part hört auf Port 80 aller eingehenden Verbindungen und konfiguriert die Weiterleitung von HTTP auf HTTPS. Damit wird quasi eine direkte HTTP-Verbindung unmöglich. Der zweite VIrtualHost-Part beschreibt dann die gekapselte HTTPS-Verbindung. Sämtliche über den Port 443 eingehenden Verbindungen werden nach "ProxyPass" geleitet. Antworten des dort konfigurierten Proxy-Ziels werden über "ProxyPassReverse" aufgelöst. In der hier sichtbaren Konfiguration werden alle unter Root liegenden Dateien direkt 1:1 in beide Richtungen weitergeleitet. Damit wird sichergestellt, dass die Verzeichnisstrukturen des Proxies mit dem Nicht-HTTPS-Ziel übereinstimmen.


    Vielleicht klärt dies einiges zum Thema Apache-Proxy auf.


    Ciao

    ariaci

  • Ich denke mal nicht das irgendeine *.config so als Anleitung für ein Reverse-Proxy ausreicht... hat vielleicht nicht jeder soviel Berührungspunkte mit so etwas...


    Erstmal grundsätzlich beruht mein Proxy aus den folgenden Anleitungen anderer ... und läuft auch nicht auf Docker sondern als VM mit Nginx und Letsencrypt ... erreichbar unter der jeweiligen Subdomain ...


    Ich versuch mal die Erstellung und Einrichtung meiner VM als Reverse-Proxy kurz zusammenzufassen...=O


    ...also als


    1. VM mit Ubuntu 16.04 lts angelegt - nicht dickes, ich hab ein Kern mit 512MB Arbeitsspeicher und 25 GB Festplatte zugewiesen... hilfreich nach der Installation war bei mir eine feste IP und die Vergabe eines Root-Passwortes sowie die Installation des ssh-Servers


    2. dieser Anleitung https://blog.friedlandreas.net…1/lets-encrypt-mit-nginx/ für die Installation von Nginx und Letsencrypt folgen, aber die angebotene Webseiten-Konfig den eigenen Bedürfnissen anpassen (s. Punkt 3)


    3. für die Anpassung der Webseiten-Konfig fand ich diese Anleitung sehr hilfreich... https://prezer.de/nginx-als-reverseproxy-11.html. Muss aber natürlich für die eigenen Bedürfnisse geändert werden.


    Hier mal meine Webseiten-Konfig für Nextcloud (Subdomain1) und UniFi (Subdomain2) - (laufen beide im Bridgemodus als Docker auf der selben QNAP) :


    4. anlegen einer SubDomain bei deinem Hoster (vorhandensein vorausgesetzt) - danach DNS Zone für die SubDomain ändern auf CNAME und als Ziel deine DDNS von myqnapcloud eintragen ( also xxx.myqnapcloud.com) - warten bis die Änderung im DNS umgesetzt wurde (kann wohl bis zu 24h dauern).


    5. im Router Portweiterleitungen für die Ports 80 und 443 auf das NAS einstellen



    Wenn alles so ohne Fehler erfolgt ist sind die SubDomains durch die Weiterleitung auf die internen IP's mit einem sauberen Letsencrypt-Zertifikat zu erreichen...



    Gruss pastor

  • Hallo pastor,


    ich weiß, dass nicht irgendeine *.config ausreicht. Ich habe das nur so lapidar geschrieben, weil Du selbst diesen Thread eröffnet hast und plötzlich unvermittelt schreibst: "Hab mich letzte Woche mal damit beschäftigt und läuft auch..."


    Also: Ich habe 38 Jahre als IT-Architekt gearbeitet, dies aber vornehmlich in der Anwendungsarchitektur und kenne mich in der Netzwerkkonfiguration nicht so perfekt aus.


    Jetzt habe ich privat den Ehrgeiz, Nextcloud im Docker-Container mit nginx als Reverse Proxy auf dem QNAP zum Laufen zu bringen und über eine externe Subdomain sicher aufrufbar zu machen.

    Der vielversprechendste Ansatz war für mich bisher Jwilder/nginx-proxy in Zusammenhang mit diesem nextcloud-example .

    Ich arbeite also unter QNAP mit docker-compose und das Ganze funktioniert wunderbar auf einem auf 80 gemappten Port ohne SSL.

    Mein aktueller Stand ist folgender:

    - ich brauche für meine SubDomain einen anderen Port als 443, weil der schon von QNAP belegt ist.

    - auf dem nginx braucht man SSL-Termination, weil nextcloud nur auf Port 80 hört

    - das Problem liegt offensichtlich in der Docker-Gen. Im Template nginx.tmp ist zwar ssl behandelt, im Generat kommt es aber nicht an. Da muss ich mich jetzt mal weiter reinknien.


    Vielen Dank für Deine Anleitungen. Die werde ich auch noch studieren. Entscheidend ist aber, dass ich mit einem leichtgewichtigen Docker-Container arbeiten möchte.


    Viele Grüße

    xgadscu

  • Hallo xgadscu,


    wenn du jetzt nicht auch "ariaci" bist bezog sich mein Teil mit der *.config nicht wirklich auf dich. :) Du hattest gefragt wie ich das erreicht habe...eine kurzen Überblick dazu habe ich erstellt. Ich bin da aber auch noch am prüfen ob die Zertifikatserneuerung so funktioniert und wie es mit der Sicherheit bestellt ist.


    Docker ist leider so gar nicht mein Ding... sag mir wie ich aus der VM ein Docker-Compose-File erstelle und ich kann das gerne machen.


    Für mich persönlich war es halt egal wie ich ohne weiterer separater Hardware einen Reverse-Proxy aufsetze ... hier mal der Ressourcenverbrauch der VM, empfinde ich eigentlich auch noch als "leichtgewichtig". :)


    Bildschirmfoto 2018-05-09 um 23.33.20.png



    Wenn du für deine Subdomain einen anderen Port als den 443 (gehe jetzt mal davon aus das du extern meinst) nutzen möchtest, kannst du doch eigentlich mit Hilfe der Portweiterleitungen und einer angepassten Webseiten-Konfig das Problem lösen, oder?



    Gruss pastor