Offtopic: owncloud im Docker mit Apache Proxy

Begonnen von bugster_de, 30 Januar 2019, 12:22:34

Vorheriges Thema - Nächstes Thema

bugster_de

Hallo Leute,

das hier hat nichts mit FHEM zu tun, aber da ich bei meiner Fehlersuche nun am Ende des Internets angelangt bin und es hier im Forum immer sehr kompetente Leute gibt, versuche ich meine Frage mal hier.

Setup:
ich habe einen Ubuntu Server am Laufen, auf dem nun alle Anwendungen in Docker liegen. Der Server läuft unter der IP 172.16.40.20 Auf diesem Server gibt es einen Docker Container mit Apache-Server, der mir sowohl eine Intranet Seite auf Port 80 (http) bereit stellt als auch eine Extranet Seite auf Port 443 (https). Nur der Port 443 ist von aussen zu erreichen. Das SSL Zertifikat ist (noch) selbst signiert. Der Apache ist als Proxy so konfiguriert, dass er mir die verschiedenen Anwendungen im Haus (teilweise Docker, teilweise andere Server wie z.B. FHEM auf einem Raspi) nach außen bereit stellt und dabei das HTTPS übernimmt. Alle Anwendungen wie z.B. FHEM, TVHeadend etc. sind von aussen gut zu erreichen.
Auf diesem Server läuft auch ein Owncloud Container, welcher unter 172.16.40.20:10082/owncloud zu erreichen ist.

Was funktioniert:
- http://172.16.40.20:10082/owncloud (fast direkter Zugriff auf den Container)
- http://172.16.40.20/owncloud (Zugriff durch den Apache Proxy)
- https://meine-domain.de/owncloud als Zugriffspfad für die verschiedenen Ownclount Clients (Windows und Linux Laptops, Android und iPhone Clients)
- https://172.16.40.20/owncloud im Browser
- https://172.16.40.20:443/owncloud im Browser

Was nicht geht:
- https://meine-domain.de/owncloud im Browser zu öffnen
Hierbei dreht der Browser sehr lange Däumchen, bis er dann meldet, die Webseite sei nicht erreichbar, da die Antwort zu lange gedauert hat.

Wie gesagt, die gleiche Domain-Adresse ist für die Desktop Clients problemlos zu erreichen.

Ich kapiers nicht und ich weiß nun auch nicht mehr, wo ich suchen soll. Ich hoffe ihr könnt mir helfen.

Für den Apache sieht die owncloud.conf wie folgt aus:
<location /owncloud>
  ProxyPass http://172.16.40.20:10082/owncloud
  ProxyPassReverse http://172.16.40.20:10082/owncloud
  SetOutputFilter INFLATE;proxy-html;DEFLATE
</location>



EDIT:
wenn ich mich unter http://172.16.40.20/owncloud im Browser in Owncloud anmelde und diese Seite offenlasse und dann  im Browser in einem zweiten Tab https://meine-domain.de/owncloud öffne, versucht er mich gleich nach https://meine-domain.de/owncloud/apps/files weiter zu leiten, dreht dann Däumchen und sagt dann die Webseite sei nicht erreichbar.




Wernieman

Du testest aus Deinem Netz, hast eine FritzBox und "https://meine-domain.de" zeigt auf Deine Fritte?

Was ich nicht verstehe, folgendes soll funktionieren
"- https://meine-domain.de/owncloud als Zugriffspfad für die verschiedenen Ownclount Clients (Windows und Linux Laptops, Android und iPhone Clients)"
folgendes nicht:
"- https://meine-domain.de/owncloud im Browser zu öffnen"

Das ist aber der gleiche Pfad?????
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Thorsten Pferdekaemper

Ist die ProxyPass-Zeile wirklich so? Da fehlt doch die .20 am Ende der IP...
Gruß,
Thorsten
FUIP

bugster_de

ZitatDas ist aber der gleiche Pfad?????
Genau! Und deshalb kapiere ich ja nicht, was da los ist. Ich war immer der Meinung, Software ist digital: geht oder geht nicht :-(
Ich nutze die Desktop Clients auf diesem System seit 6 Monaten ohne Probleme. Sprich das geht definitiv. Ich hatte jetzt über Weihnachten ein bisschen Zeit und wollte das Browser Thema fixen, aber ohne Erfolg.

ZitatDu testest aus Deinem Netz, hast eine FritzBox und "https://meine-domain.de" zeigt auf Deine Fritte?
Keine Fritzbox, aber https://meine-domain.de zeigt auf meinen Ubuntu Server (da kommt dann eine generische Webseite, die ich hinterlegt habe. Das Routing auf andere Dienste wie z.B. TVHeadend (auf dem Ubuntu Server) sowie auf FHEM (auf einen Raspi geht ebenfalls absolut zuverlässig seit Monaten.

Ich bin jetzt aber einen Schritt weiter, der noch mehr Verwirrung in die Sache bringt: ich habe es heute nochmal vom Büro aus probiert, um sicherzustellen, dass ich wirklich aus einem externen Netz zugreife und jetzt wird es "bunt":
wenn ich die Webseite in Chrome unter Windows aufrufe, dann dreht sich die Sanduhr ewig und irgendwann kommt dann der Fehler wie gehabt.
Wenn ich die Seite aber im Microsoft Edge aufrufe, dann kommt sofort der owncloud Login Screen (es geht also!). Wenn ich mich dannn einlogge dann geht der Weiter-Verweis auf http://meine-domain.de/owncloud/apps/files. Sprich er leitet mich nicht auf die https Seite sonder auf http weiter und das geht dann natürlich schief, da der Port 80 nach aussen nicht offen ist

ZitatIst die ProxyPass-Zeile wirklich so? Da fehlt doch die .20 am Ende der IP...
Danke für den Hinweis. Tippfehler hier im Forum. In der Apache Config Datei ist es richtig. Habe den Forums Eintrag aktualisiert

Wernieman

Da weiß der owncloud nicht, das er über https aufgerufen wird .. und deshalb leitet er Dich auf http um ...
Soltest Du in der config des Servers fixen.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

erdo_king

Ich hab selbst Nextcloud (sollte egal sein) hinter einem reverse-Proxy (apache) im Einsatz...

Ich vermute hier ein Konfigurationsproblem in der config.php des NextClouds!

Hier ein paar Auszüge meiner Konfiguration:

  'trusted_domains' =>
  array (
    0 => 'nextcloud.meinedomain.de',
  ),
  'overwrite.cli.url' => 'https://nextcloud.meinedomain.de',
  'trusted_proxies' =>
  array (
    0 => '172.16.x.x',
  ),
  'forwarded_for_headers' =>
  array (
    0 => 'HTTP_X_FORWARDED_FOR',
  ),


Ich würde damit was rumspielen ;)
Da du offenbar in einen TimeOut rennst gegebenfalls auch mal Wireshark anwerfen und schauen wo die Verbindungen hingehen...
Ich nehme an, dass OwnCloud dich auf eine lokale IP umlenkt...

ggf. auch sowas wie "force ssl", da gibt es nen Parameter zu ...

bugster_de

Oh je, erstmal vielen Dank für eure Antworten und sorry, dass ich erst jetzt darauf eingehe. Ich hatte das Thema aus den Augen verloren, da meine Desktop Apps ja gingen wie sie sollen, aber da nun der Winter kommt und das große Bildertauschen mit den Erlebnissen des Sommers beginnt, hab ich mich der Sache wieder angenommen.

Die Hinweise von Erdo-King haben tatsächlich fazu geführt, dass es mit Owncloud jetzt, zumindest teilweise, geht. Login-Screen erscheint und dann geht es auch weiter zu den jeweiligen Dateien etc. Allerdings kann ich mich nicht ausloggen, da hinter dem Menüpunkt für das Ausloggen ein Link auf   http://172.16.40.20:10082/owncloud/logout an Stelle https://meine-domain.de/owncloud/logout hinterlegt ist.
Leider sind weder der Apache noch der Owncloud im Log-File gesprächig genug, um mir die Fehlersuche zu erleichtern. Sprich ich weiß jetzt nicht, ob wer von beiden den Fehler einbaut; ob der Owncloud die Domains/Clients nicht sauber erkennt oder ob der Apache-Proxy hier irgendwas verbiegt.
Ich hatte es schon mit RewriteRules versucht, aber ich glaube die gehen beim Apache in Locations nicht.

Ich glaub ich hab jetzt noch zwei Möglichkeiten:
- irgendjemand hier hat mir einen goldenen Tipp
- ich sattele auf Traefik als Proxy Server um. So richtig tief einarbeiten werde ich mich eh müssen und da erscheint mir Traefik im ganzen Kontext der Docker-Container doch zukunftsweisender zu sein.


Interessanter Nebenhinweis: ich habe auch noch eine Nextcloud als Spielwiese im Docker am Laufen. Mit den Hinweisen, die bei Owncloud funktionieren, geht es bei Nextcloud nicht  :-[ Muss man nicht verstehen, oder? Aber diesem Thema widme ich mich mal, wenn ich den Owncloud am Laufen habe.


bugster_de

das mit dem nicht funktionierenden Hinweis ist exakt dieses Phänomen: https://github.com/owncloud/core/issues/30097
bei mir im Owncloud ist aber der dort angegebene fix bereits drin und geht trotzdem nicht