ubuntuusers.de

Apache2.4 als ReverseProxy für Nextcloud mit SSL-Zertifikat

Status: Ungelöst | Ubuntu-Version: Server 18.10 (Cosmic Cuttlefish)
Antworten |

SimpleMind

Anmeldungsdatum:
25. November 2008

Beiträge: 90

Moin zusammen,

ich habe einen "gewachsenen" Server, den ich seit Jahren betreibe und auf dem immer wieder neue Dienste dazu gekommen sind, die auf verschiedenen Ports laufen. Ich habe mir endlich einmal ans Herz gefasst und damit begonnen, das ganze etwas aufzuräumen: Subdomains anlegen, in Apache vHosts erstellen, und was nicht verschiebbar ist, mittels Apache ReverseProxy umzuleiten.

Ein Dienst bei dem das noch nicht ganz funktioniert ist Nextcloud, das ich als Snap installiert habe und das am längsten auf meinem Server liegt. Es hat ein eigenes SSL-Zertifikat das mit LetsEncrypt erstellt wurde. Der Einfachheit halber habe ich die Ports von Nextcloud von 80 und 443 auf 81 und 443 umgezogen. Wenn ich Nextcloud nun unter meinedomain.sx:81 aufrufe, dann funktioniert alles wie es soll: ich werde auf Port 444 umgeleitet, und habe ein gültiges SSL-Zertifikat.

Nun kommt der ReverseProxy ins Spiel, meine Konfiguration:

<VirtualHost *:80>
    ServerName cloud.meinedomain.sx
    ProxyPreserveHost On 
    DocumentRoot /var/www/html
    ProxyPass /.well-known !
    ProxyPass / http://meinedomain.sx:81
    ProxyPassReverse / http://meinedomain.sx:81
</VirtualHost>

Hier funktioniert zunächst auch alles: Wenn ich cloud.meinedomain.sx aufrufe, dann werde ich auf Port 444 umgeleitet, allerdings ohne gültiges Zertifikat, das bricht. Nextcloud funktioniert sonst, jedoch kommt mein Zertifikat anscheinend nicht heile durch den ReverseProxy. Gibt es eine möglichst einfache Möglichkeit das zu beheben, sodass das Zertifikat mit übertragen wird, oder muss ich LetsEncrypt ein neues Zertifikat für die Subdomain anlegen lassen?

Danke im Vorraus!

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

SimpleMind schrieb:

Wenn ich cloud.meinedomain.sx aufrufe, dann werde ich auf Port 444 umgeleitet,

Dann verbindest du dich ja nicht mehr zum Reverse Proxy auf Port 80 des Apachen, sondern zur Nextcloud Snap, oder habe ich etwas falsch verstanden?

SimpleMind

(Themenstarter)

Anmeldungsdatum:
25. November 2008

Beiträge: 90

sebix schrieb:

Dann verbindest du dich ja nicht mehr zum Reverse Proxy auf Port 80 des Apachen, sondern zur Nextcloud Snap, oder habe ich etwas falsch verstanden?

Dochdoch. meinedomain.sx:81 ist die Nextcloud-Instanz, cloud.meinedomain.sx ist die Instanz hinter dem ReverseProxy von Apache. ersteres geht mit SSL, bei letzterem bricht SSL. cloud.meinedomain.sx nimmt den Aufruf auf Port 80 entgegen und leitet ihn auf meinedomain.sx Port 81 um.

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

Ich bin noch verwirrter. Kannst du bitte eine klare Aufstellung machen, wer auf welchem Port mit oder ohne TLS lauscht und was macht?

Antworten |