Vhost auf Ubuntu-Server

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

frogtwist

Benutzer
Registriert
08. Nov. 2014
Beiträge
395
Reaktionspunkte
3
Punkte
18
Da ich gerne die Apps von Synology nutzen möchte aber durch die erforderlichen Ports dies im Firmennetzwerk nicht möglich ist möchte ich gerne meinen Ubuntu-Server als Proxy einrichten und darauf eine Weiterleitung realisieren.

Meine Vhost Konfiguration sieht so aus:


<VirtualHost *:443>

ServerName sub.domain.de

ProxyPreserveHost On
ProxyRequests Off
ProxyVia Off


ProxyPass /file/ https://192.168.0.110:5001/file
ProxyPassReverse /file/?https://192.168.0.110:5001/file

ProxyPass /download/ https://192.168.0.110:5001/download
ProxyPassReverse /download/ https://192.168.0.110:5001/download

ProxyPass /dsm/ https://192.168.0.110:5001/webman
ProxyPassReverse /dsm/ https://192.168.0.110:5001/webman

ProxyPass /note/https://192.168.0.110:5001/note
ProxyPassReverse /note/https://192.168.0.110:5001/note?

SSL Pfade
<VirtualHost >

Das Problem. Ich bekomme eine Fehlermeldung beim restarten des Apache Services.

AH00526: Syntax error on line 9 of /etc/apache2/sites-enabled/disk.conf:
ProxyPassReverse needs a path when not defined in a Location

Welcher Pfad wird hier den benötigt?

Danke
 
Welches ist denn exakt Zeile 9?
Eventuell fehlt nur ein Slash / am Ende der URLs.
 
ProxyPass /note/https://192.168.0.110:5001/note
ProxyPassReverse /note/https://192.168.0.110:5001/note?
bzw. fehlen in den beiden Zeilen jeweils ein Leerschritt
 
Die 9 Zeile ist die erste ProxyPass Zeile. Allerdings habe ich schon sämtliche Variationen mit/ohne Slash durchprobiert.

Was bedeutet das in den beiden Zeilen jeweils ein Leerschritt fehlt?

Ist den der prinzipielle Aufbau der Vhost Anweisung in Ordnung?
 
Was bedeutet das in den beiden Zeilen jeweils ein Leerschritt fehlt?
zwischen "/note/" und "https" sollte doch ein Leerschritt sein in beiden Zeilen, oder?
 
Prinzipiell ist der Aufbau in Ordnung.

Wenn der Pfad verlängert wird, vorne unten hinten im Eintrag identisch. Bsp.

Eventuell sind die Document Roots oder URL Pfade auf den beiden Servern (Ubuntu und Synology Apache) nicht identisch bzw. unterschiedlich konfiguriert. Deshalb meckert er vermutlich auch nur über den Reverse Pfad.
Da ich den Reverse Proxy nur auf der Syno selbst betreibe (damit von außen einfach per https://dienst.domain.de zugegriffen werden kann, ohne die Ports zu verraten oder nach außen frei zu geben) kann ich dir leider nicht genau sagen, was an der Apache config auf deinem Ubuntu nicht ganz paßt.

P.S. Leerschritt == Leerzeichen
 
Hm, das wäre natürlich auch eine Möglichkeit. Kannst du mir erklären wie du das eingerichtet hast? Das wäre spitze :-)
 
Ob das in allen Belangen das gelbe vom Ei ist weiß ich allerdings auch noch nicht. Ein "kleines" Problem ist die in dutzende Dateien verschachtelte Konfig der Syno-Webserver (DSM (nginx?) und User Webserver (apache)). Öfter komme ich mit try&error schneller voran als mit strukturiertem Vorgehen (geht mir etwas gegen den Strich, ist aber halt ein Kompromiss, wenn ich die Daten bei mir haben/verwalten will und trotzdem niemand anderes der sowas hauptberuflich macht dafür bezahlen will).
Ich erwähne das deshalb, weil ich manchmal beim Laden eines Dienstes erst auf Refresh / F5 den Inhalt zu sehen bekomme und ich noch nicht nachgeforscht habe, woran das liegt.

Mein Setup:
sub.domain.de löst als Strato-DDNS direkt auf meine Public IP auf. Wenn ich direkt domain.de auf meine Public IP setzen würde, könnte ich mir vielleicht das mit den unterschiedlichen Zertifikaten teilweise schenken (Server Name Indication), aber egal. Im DSM ist das Zertifikat für sub.domain.de installiert
https://sub.domain.de landet auf dem user-webserver im document root, also der Synology Willkommens-Seite.

Meine /etc/httpd/sites-enabled-user/httpd-ssl-vhost.conf-user
Darin findet sich ein vHost mit eigenem Cert (CN lautet auf dienst1.domain.de), der auf dem user-webserver läuft (z.B. owncloud oder anderes) und ein zweiter vHost der via ProxyPass läuft (z.B. pyload, tvheadend, ...).
Weitere vHosts einfach ergänzen. Danach starte ich die Webdienste via DSM neu (oder "synoservicectl --restart httpd-user")
<VirtualHost *:443>
ServerName dienst1.domain.de
DocumentRoot "/var/services/web/dienst1"
ErrorDocument 403 "/webdefault/error.html"
ErrorDocument 404 "/webdefault/error.html"
ErrorDocument 500 "/webdefault/error.html"
SSLEngine on
SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/dienst1.crt
SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/dienst1.key
SSLCertificateChainFile /usr/syno/etc/ssl/ssl.intercrt/dienst1-ca.crt
</VirtualHost>
<VirtualHost *:443>
ServerName dienst2.domain.de
ProxyPreserveHost On
ProxyRequests Off
ProxyVia Off
ProxyPass / http://127.0.0.1:56432/
ProxyPassReverse / http://127.0.0.1:56432/
SSLEngine on
SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/dienst2.crt
SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/dienst2.key
SSLCertificateChainFile /usr/syno/etc/ssl/ssl.intercrt/dienst2-ca.crt
</VirtualHost>


Ich bin da auch noch lang nicht am Ende. Habe erst 2-3 Sachen umgesetzt, noch 10 offen. Am Ende soll nur noch Port 443 nach außen offen sein.

Weitere Anregungen, z.B.
https://primalcortex.wordpress.com/...eb-station-and-virtual-sites-for-filestation/
 
zwei unterschiedliche SSL-Zertifikate werden nicht gehen am selben Server (IP Adresse). Denn der Server entscheidet anhand des HTTP Hostnamens welches Zertifikat angewendet werden soll. Nur wird diese Information vom Client verschlüsselt übermittelt und der Server bräuchte daher die Info welchen Key er nehmen soll, damit er entschlüsseln kann und damit weiss welcher Schlüssel angewendet werden soll. Das ist ein Henne-Ei Problem ;-)
Mit SNI würde es gehen, das hätte aber wiederum zur Folge, dass der angefragte Hostname unverschlüsselt übermittelt wird
 
@jahlives - die Problematik ist mir bekannt. Vielleicht kommt daher der "Schluckauf" manchmal beim Verbindungsaufbau. Allerdings sehe ich auch, dass ich es mit 3 Zertifikaten am Laufen habe (und ich habe SNI nicht wissentlich konfiguriert und Zugriff erfolgt mit https/hsts). Muss ich mir bei Zeiten nochmal ansehen, wieso es "zufällig" zu gehe scheint.
 
du kannst auch 100 vhosts konfigurieren mit Zertifikaten. Die entscheidende Frage ist: welches Zertifikat/Schlüssel wird verwendet. Ohne SNI wird immer das erste Zertifikat verwendet (erster vhost)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat