Nextcloud mit Traefik - Bad Gateway?


11.08.2022, 21:15

ANTWORT:

ip addr show docker0

An diese IPv4 müsst ihr Apache2 binden und natürlich die Traefik Konfiguration anpassen. Sonst kann Traefik nicht mit Containern außerhalb von Docker kommunizieren.

Vielen Dank an iQa1x der bei der Lösung des Problems enorm geholfen hat.

iQa1x  11.08.2022, 20:20

Hast du evtl. bei Apache http und im Proxy https eingetragen oder umgekehrt ? Oder bei beiden https, aber die Zertifikate passen nicht ?

In dem Post ist das gleiche Prob ohne Lösg.

jud123 
Fragesteller
 11.08.2022, 20:21

Bei Apache http? Da gibt man doch nur eine IP und Port an, dachte ich. Beim Proxy steht http.

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Für ne Weitere Rückfrage ist es zu lang...

Hast du beim Apachen nur Listen ... geändert ? In den <virtualhost. *:port> steht auch nochmal der Port. Und da gibt es ggfs. eine Datei für TLS (Original 443) und einen ohne (80), da solltest du bei dem Richtigen den Port ändern, also bei dem Ohne. Bei Debian /etc/apache2/sites-enabled/ jeweils pro VHost eine *.conf


jud123 
Fragesteller
 11.08.2022, 20:28

Ja, bei den VHosts ist auch alles angepasst. TLS brauche ich nicht und habe ich auch keinen VHost für, weil intern die Kommunikation über http läuft.

0
iQa1x  11.08.2022, 20:30
@jud123

Kam bei dem wget Status 302 oder 200 oder irgendwas hässliches wie 4xx oder 5xx ?

0
jud123 
Fragesteller
 11.08.2022, 20:35
@jud123

Es wird mir dann die index.php ausgegeben, komisch

0
iQa1x  11.08.2022, 20:36
@jud123

Wenn wget mit dem Apache-Port auf localhost geht dann sollte Apache-seitig alles funktionieren. Bleibt nur noch der Proxy. Traefik kenne ich leider nicht, habe sowas nur mit nginx oder haproxy bis jetzt gebaut, daher kenne ich da die Konfiguration nicht.

Aber Connection refused ist von der Fehlermeldung her halt komisch, sowas kommt halt nur wenn der Port nicht offen ist oder die TLS Aushandlung schief geht. Oder du lokal irgendwelche Regeln zum Blockieren hast, aber localhost per iptables einzuschränken ist eigentlich vollkommen unüblich.

SELinux, AppArmor oder was in die Richtung, was quer schießen könnte ?

0
iQa1x  11.08.2022, 20:37
@jud123

Ungeparsed ? Dann stimmt irgendwas mit der Apache-Konfiguration aber nicht.

0
jud123 
Fragesteller
 11.08.2022, 20:38
@iQa1x

Ich bekomme Code, HTML

0
jud123 
Fragesteller
 11.08.2022, 20:38
@iQa1x

Ich habe meine trusted_proxies auf 127.0.0.1, vielleicht ist das das Problem, obwohl es ja ohne localhost funktioniert.

0
iQa1x  11.08.2022, 20:41
@jud123

wenn trusted_proxys falsch ist, zeigt Nextcloud eine lesbare Fehlermeldung. Vor allem sollte da kein connection refused kommen.

0
jud123 
Fragesteller
 11.08.2022, 20:44
@iQa1x

Also zusammenfassend, Nextcloud lehnt die Verbindung ab, wenn sie über 127.0.0.1 und von Traefik kommt, aber nicht, wenn sie von der IP und Traefik kommt.

0
jud123 
Fragesteller
 11.08.2022, 20:45
@iQa1x

Ich habe es gerade nochmal bestätigt, wenn man Apache "veröffentlicht" und Traefik anpasst, funktioniert alles. So ist es aber nicht erwünscht

0
iQa1x  11.08.2022, 20:45
@jud123

Nö, wenn du beim wget auf 127.0.0.1:port eine anständige HTML Seite ohne PHP bekommst, funktioniert apache und Nextcloud super. Treafik mag sich da aber wohl nicht hin verbinden...

0
jud123 
Fragesteller
 11.08.2022, 20:47
@iQa1x

msg="'502 Bad Gateway' caused by: dial tcp 127.0.0.1:180: connect: connection refused" Die Verbindung wird ja aber abgelehnt

0
jud123 
Fragesteller
 11.08.2022, 20:48
@iQa1x

Kann es sein das Traefik kein richtigen Zugriff auf den localhost hat? Und nur in das lokale Docker Netzwerk? Das würde einiges erklären, das Problem aber nicht lösen.

0
iQa1x  11.08.2022, 20:50
@jud123

Weiss ich leider nicht, ich habe mit Docker leider keine Erfahrung, hatte so ein Setp aus anderen Zwecken (load-balancer) ohne Container. Hast du dem Traefik irgendwie mitgeteilt, das der 127.0.0.1 nehmen soll, ggf. auch das Interface lo, wenn der sowas braucht ? Ich kenne den leider nicht...

0
jud123 
Fragesteller
 11.08.2022, 20:51
@iQa1x

Ich probiere mal etwas mit den Docker Netzwerken

0
jud123 
Fragesteller
 11.08.2022, 21:03
@iQa1x

Hi, Problem ist ganz einfach, der Docker Container hat 127.0.0.1 auf sich selber definiert. Ich muss dem Container jetzt sagen, dass er diese Addresse auf den eigentlichen localhost legen soll. Problem gelöst!!

1