Reverse Proxy: Umleitung extern 80/443 auf localhost/8090

  • 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.

vision321

Benutzer
Registriert
29. Apr. 2019
Beiträge
6
Reaktionspunkte
0
Punkte
1
Guten Morgen!

Ich versuche gerade, einen Dienst auf meiner DS218+ (DSM 6.2.2 U3) per HTTPS erreichbar zumachen. Klappt mit Let's Encrypt Zertifikat auch grundsätzlich. Nun möchte ich aber gerne, dass die DS automatisch von Port 80 auf Port 443 weiterleitet. Und das will mir partout nicht gelingen. :(

Im Prinzip sollte das ja recht einfach sein, wie etwa hier beschrieben.

Meine Einstellungen sind wie folgt:

Unbenannt 2.pngUnbenannt 1.pngUnbenannt 3.png

Warum will das nicht funktionieren???
 
Weil der reverse proxy auf der Syno nicht für sowas gedacht ist. Er leitet eine ankommende Verbindung (80) anderweitig weiter, ABER er verändert nicht die vom Client zu 80 aufgebaute Verbindung. Er baut eine Kommunikationskette auf, wird aber nicht das erste Glied darin (Port 80 vom Client zum proxy) durch was anderes ersetzen.
Du hast also http > proxy > https > http localhost gebaut. Von dem https bekommt der Client aber nichts mit.

Port 8090 Video station?
Systemsteuerung > Anwendungsportal > Anwendungen > Video Station > benutzerdefinierte Domain.
Da werden Sie geholfen. ;)
Domain mit https
 
:confused: Danke für Deine Antwort, aber verstehe ich nicht. Die Umleitung HTTP-->HTTPS scheint doch grundsätzlich mit dem DS Proxy zu funktionieren, s. z.B. verlinkter Anleitung von Heiko und vieler zufriedener Nutzerkommentare.

Und bei mir ist es nicht die Videostation, sondern ein Docker-Container. Der Zugriff funktioniert aber eben auch per HTTP und das soll er aus bekannten Gründen eben nicht.
 
Was gibt es da nicht zu verstehen. Du baust eine http Verbindung zum proxy auf. EGAL wie es hinter dem proxy weitergeht ändert dies nichts an der ersten http Verbindung zum proxy.
Der Gedanke bei der Anleitung ist vermutlich, dass der zweite proxy via hsts dann dafür sorgt, dass der Client in Zukunft nur via https anklopft.
Wieso diese von hinten durch die Brust ins Auge Einstellungen für den proxy bei dir jetzt nicht gehen kann ich dir ohne Tests nicht sagen.
Edit: Eventuell liegt es nur an der Namensauflösung im lokalen Netz, dass das Ziel des ersten Proxies (domain.selfhost.eu) von der DS aus nicht erreicht werden kann. Entweder DNS Problem oder Blockade vom NAT loopback im Router.
Geht https://sub.selfhost.eu von einem Rechner im LAN?
Falls auf der Konsole der DS (ssh/telnet), geht ein 'nslookup sub.selfhost.eu'?

Wieso überhaupt erst per http?
Einfach nur https/443 und diesen proxy nehmen.
Der funktioniert doch sicher, oder?
 
Zuletzt bearbeitet:
Das ist nicht ganz logisch. Was Du grade machst ist http.selfhost auf https.selfhost. Dann soll selfhost auf https antworten und leitest es an localhost.
Ein Eintrag: http.selfhost auf http.localhost.
Zweiter EIntrag: https.selhost auf http.localhost

Das setzt vorraus, dass selhost beides kann und dein Dienst auf http und https reagiert.

Wenn du wirklich einen sicheren Zugang haben willst und dein Dienst https kann, dann nur einen Eintrag:
https.selfhost auf https.localhost
 
Hm, finde meinen Plan zumindest grundsätzlich total logisch! :cool:

Nicht anderes passiert doch zB hier im Forum auch, von http://www.synology-forum.de wird zu https://www.synology-forum.de umgeleitet. Genau das möchte ich auch machen. Wie es dann dahinter weitergeht (bei mir also auf localhost:8090) ist doch egal (und funzt bei mir ja auch). Sind die Reverse Proxy Einstellungen dafür die falsche Stelle?

In der Nginx Config ginge das ja in etwa so:

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
 
das machst Du schon durch die beiden Häkchen die du gesetzt hast, aber nicht durch den zweiten Eintrag.
D.h. selhost https zu localhost https. Wenn dann jemand http://selfhost benutzt, wird er durch die beiden Häkchen automatisch zu https://selhost und das leitest du an localhost:8090
 
Ok, ich geb hier auf und mach es jetzt zu Fuß über die Webstation und leite da dann um auf 443...

Danke für Eure Geduld!
 
Für alle, die sowas auch machen möchten:

Habe es jetzt so gelöst, dass die Webstation mit Apache per .htaccess Datei umleitet. Der Reverse Proxy macht nur noch dom.selfhost.eu:443 auf localhost:8090. Und ich musste Port 81 der DS nehmen, da 80 bereits vom System belegt, aber das sieht ein externer Nutzer ja nicht. Jetzt klappt der Aufruf von "http://dom.selfhost.eu" im Browser, es wird umgeleitet zu https://...

Virtueller Host:

1.PNG

.htaccess Datei:

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
 
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