Eines vorweg: Ich habe Google mittlerweile fast komplett durchgelesen, stehe aber dennoch auf dem Schlauch.
Zur Konfiguration:
Ich habe 2 DS hinter einer Fritzbox im Netzwerk laufen.
Beide mit der letzten Version von DSM5.
Port 80 & 443 sind freigegeben. Der Rest ist zu.
Es sollte auch nicht nötig sein andere Ports zu öffnen, da ja reverse proxy genau das umgehen kann (und in diesem Fall soll).
Für die Domäne: subdomain.domain.de habe ich ein SSL Zertifikat
Via DDNS wird beim Aufruf von https://subdomain.domain.de meine "HauptDS" aufgerufen.
Mein Ziel:
subdomain.domain.de/ -> Zugriff auf Webseiten, die auf NAS1 liegen (Blog, etc)
subdomain.domain.de/nas1/file -> Zugriff auf Filestation auf NAS1
subdomain.domain.de/nas1/cfg -> Zugriff auf Diskstation Manager auf NAS1
subdomain.domain.de/nas2/file -> Zugriff auf Filestation auf NAS2
subdomain.domain.de/nas2/cfg -> Zugriff auf Diskstation Manager auf NAS2
Auf NAS1 ist ein virtueller Host eingerichtet, hier die conf Datei:
Der Zugriff auf "https://subdomain.domain.de" funktioniert 1a, denn ich sehe die Webseite.
Auch Zugriffe auf andere Webseiten innerhalb des Webverzeichnisses kann ich sehen.
Kein Wunder, denn DocumentRoot verweist darauf.
Aber sobald ich eine der anderen URLs aufrufe, wird "kurz" etwas geladen, dann sehe ich jedoch eine leere Seite.
Im Quellcode dieser leeren Seite kann man Quellcode sehen, aber offenbar stimmen die Pfade darin nicht, denn die Elemente werden teils nicht gefunden.
Das DSM Favicon wird zwar angezeigt, aber das wars.
Die Seite ist völlig blank.
Ich habe mein Glück bereits mit mod-rewrite und dem P Flag versucht, komme aber zum selben Ergebnis.
Wo ist mein Denkfehler?
Wieso bekomme ich blanke Seiten angezeigt?
Aber da ich nur 1 SSL Zertifikat habe und dieses auch nutzen will, kann ich nicht für jeden einzelnen Service eine eigene Subdomain anlegen.
Ich habe dutzende Anleitungen gesehen, bei denen die Leute reverse proxy Anweisungen auf den Root ausführen.
Sprich:
Das klappt auch bei mir.
Sobald ich jedoch alles in Unterverzeichnisse lege geht es nicht mehr.
Wie gesagt: Ports 80 & 443 sind offen. 500x, 700x & co sollen nicht freigegeben werden. 2 offene Ports reichen
Für Tipps wäre ich euch seeeeeeeeehr dankbar!
Zur Konfiguration:
Ich habe 2 DS hinter einer Fritzbox im Netzwerk laufen.
Beide mit der letzten Version von DSM5.
Port 80 & 443 sind freigegeben. Der Rest ist zu.
Es sollte auch nicht nötig sein andere Ports zu öffnen, da ja reverse proxy genau das umgehen kann (und in diesem Fall soll).
Für die Domäne: subdomain.domain.de habe ich ein SSL Zertifikat
Via DDNS wird beim Aufruf von https://subdomain.domain.de meine "HauptDS" aufgerufen.
Mein Ziel:
subdomain.domain.de/ -> Zugriff auf Webseiten, die auf NAS1 liegen (Blog, etc)
subdomain.domain.de/nas1/file -> Zugriff auf Filestation auf NAS1
subdomain.domain.de/nas1/cfg -> Zugriff auf Diskstation Manager auf NAS1
subdomain.domain.de/nas2/file -> Zugriff auf Filestation auf NAS2
subdomain.domain.de/nas2/cfg -> Zugriff auf Diskstation Manager auf NAS2
Auf NAS1 ist ein virtueller Host eingerichtet, hier die conf Datei:
Rich (BBCode):
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
NameVirtualHost *:443
<VirtualHost *:443>
ServerName subdomain.domain.de
[...] Block mit SSL Anweisungen [...]
DocumentRoot /Volume1/web
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/[a-z]+$
RewriteRule ^(.*)$ $1/ [R=301,L]
<Location /nas1/cfg/>
ProxyPass https://<ip-nas1>:5001/
ProxyPassReverse https://<ip-nas1>:5001/
</Location>
<Location /nas1/file/>
ProxyPass https://<ip-nas1>:7001/
ProxyPassReverse https://<ip-nas1>:7001/
</Location>
<Location /nas2/cfg/>
ProxyPass https://<ip-nas2>:5001/
ProxyPassReverse https://<ip-nas2>:5001/
</Location>
<Location /nas2/file/>
ProxyPass https://<ip-nas2>:7001/
ProxyPassReverse https://<ip-nas2>:7001/
</Location>
</VirtualHost>
Auch Zugriffe auf andere Webseiten innerhalb des Webverzeichnisses kann ich sehen.
Kein Wunder, denn DocumentRoot verweist darauf.
Aber sobald ich eine der anderen URLs aufrufe, wird "kurz" etwas geladen, dann sehe ich jedoch eine leere Seite.
Im Quellcode dieser leeren Seite kann man Quellcode sehen, aber offenbar stimmen die Pfade darin nicht, denn die Elemente werden teils nicht gefunden.
Das DSM Favicon wird zwar angezeigt, aber das wars.
Die Seite ist völlig blank.
Ich habe mein Glück bereits mit mod-rewrite und dem P Flag versucht, komme aber zum selben Ergebnis.
Wo ist mein Denkfehler?
Wieso bekomme ich blanke Seiten angezeigt?
Aber da ich nur 1 SSL Zertifikat habe und dieses auch nutzen will, kann ich nicht für jeden einzelnen Service eine eigene Subdomain anlegen.
Ich habe dutzende Anleitungen gesehen, bei denen die Leute reverse proxy Anweisungen auf den Root ausführen.
Sprich:
Rich (BBCode):
<VirtualHost *:443>
ServerName subdomain.domain.de
[.....]
ProxyPass / https://<ip-nas2>:7001/
ProxyPassReverse / https://<ip-nas2>:7001/
</VirtualHost>
Sobald ich jedoch alles in Unterverzeichnisse lege geht es nicht mehr.
Wie gesagt: Ports 80 & 443 sind offen. 500x, 700x & co sollen nicht freigegeben werden. 2 offene Ports reichen
Für Tipps wäre ich euch seeeeeeeeehr dankbar!