Ansteuern von verschiedenen Anwendungen von außen über Subdomain/Reverse Proxy: "https://" in Adresszeile umgehbar?

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

dtv1899

Benutzer
Registriert
09. Aug. 2013
Beiträge
104
Reaktionspunkte
2
Punkte
18
Ich habe eine eigene Domain mit derzeit zwei Subdomains:

1. ds.xyz.de -> wird per Reverse Proxy zur Diskstation auf Port 5001 geleitet
2. fb.xyz.de -> wird per Reverse Proxy zur Fritzbox auf Port 443 geleitet

Funktioniert auch alles wie es soll aber mich nervt es, dass ich im Browser immer das "https://" voranstellen muss, damit die Seiten gefunden werden.
Wie und wo kann ich konfigurieren, dass das automatisch als https:// erkannt wird? Ist jetzt noch nicht so gravierend aber ich möchte auf der DS noch andere Dienste hosten und die Urls weitergeben, da wäre es viel einfacher, wenn die Leute nur xx.xyz.de eintippen müssten.
 
Setz mal das Kreuzchen "HSTS" im Reverse Proxy bei beiden Verbindungen.
Das bewirkt m.W., dass sich dein Browser in einem Cookie merkt. Das die Seite auch über https erreichbar ist, nachdem du sie einmal manuell über https angesurft hast. Dann macht er immer https, auch wenn du http tippst. Im Browser wieder los wirst du das nur durch Rausalterung oder löschen der Cookies.
 
Und wenn die Umleitung unter Systemsteuerung > Netzwerk > DSM Einstellungen > http>https nicht greift (die benutzerdefinierte Domain dort kannst du auch alternativ zu deinem proxy für das dsm verwenden. Macht am Ende das gleiche) muss man eventuell bei der proxy configs vom nginx nacharbeiten.
 
@Benares Ja, das ist mir auch schon aufgefallen, dass es beim zweiten Anlauf via HSTS funktioniert. Ich möchte aber, dass es immer gleich beim ersten Versuch zu https umgeleitet wird, damit die Weitergabe der URL an wenig fundierte Personen unkomplizierter ist.

Ich habe jetzt herausgefunden, dass die Firewall meiner DS Port 80 geblockt hat, weshalb es initial überhaupt nicht ging.

Ich bin jetzt so weit, dass ich auch ohne "https" ans Ziel komme, diese Verbindungen dann aber als unsicher eingestuft werden weil offenbar kein Redirect zu https stattfindet. Derzeit sollen so meine Fritzbox und DSM erreicht werden, später kommt aber noch ein Bitwarden Safe, Kalender usw. hinzu.

Wo kann ich denn diese Redirection zu https global anpassen?
 
Global gar nicht, weil das völlig kontraproduktiv wäre. Aber für jede gewünschte Subdomain geht es, wenn auch nicht mit der GUI. Dazu mit ssh auf die NAS und im Ordner /etc/nginx/sites-enabled eine Datei anlegen und darin die Umleitungen eintragen, die gewünscht sind:

Bash:
server {
    listen 80;
    server_name subdomain1
                subdomain2
                subdomain3;

    return 301 https://$host$request_uri;
}
 
  • Like
Reaktionen: dtv1899 und Fusion
Den Weg nutze ich auch.
Ist zwar Konsole, aber deutlich kürzer als der Limbo den man mit der Gui Lösung von golimb im Link oben gehen muss. Just my 2ct.
 
  • Like
Reaktionen: blurrrr
Die von @Penthys beschriebene Rewrite-Rule habe ich auch schon gebraucht, wenn ich per Reverse-Proxy von https auf http umleite.

@bumbklaatt, welches Zertifikat ist in der DS hinterlegt? Es muss entweder für alle Namen (Alternativer Antragstellername) gelten oder ein Wildcard-Zertifikat sein. Wenn du für jeden Namen ein einzelnes Zertifikat hast musst du das unter Systemsteuerung, Sicherheit, Zertifikat, Konfigurieren richtig zuordnen.
 
@Penthys Klingt easy, werde ich mir anschauen. Danke!

Bin gerade an der oben verlinkten Lösung via Webstation und .htaccess dran aber das ist ein einziges Gebastel zumal ich die Webstation nicht brauche und mich die Ordner dann stören würden.

@Benares Nutze Lets encrypt also ein eigenes Zertifikat pro Subdomain. Beide Zertifikate sind korrekt zugeordnet. Mit vorangestelltem https in der Adresszeile sehe ich auch, dass https grundsätzlich funktioniert.
 
Zuletzt bearbeitet:
Ich bin jetzt so weit, dass ich auch ohne "https" ans Ziel komme, diese Verbindungen dann aber als unsicher eingestuft werden
Und welches Zertifikat wird da gezogen? Ist der in der URL verwendete Hostname in "Alternativer Antragstellername" enthalten?
 
Und welches Zertifikat wird da gezogen? Ist der in der URL verwendete Hostname in "Alternativer Antragstellername" enthalten?
Gar keines.

Ich bin gerade dabei, via ssh die oben von @Penthys beschriebene Datei in den nginx Ordner zu erstellen, allerdings habe ich keine Ahnung, wie dieser vi-Editor funktioniert und Nano kann ich nicht installieren, weil es die Sicherheitseinstellungen der DSM7 Beta nicht erlauben.

Kann mir jemand auf die Sprünge helfen, was ich in Vi genau machen muss wenn ich es gestartet habe? Bin über Putty an nem Win-Client drauf. Wie muss die Datei am Ende heißen?
 
Zuletzt bearbeitet:
Schau mal hier.
 
Danke für den Link.

Wie muss die fertige Datei dann genau heißen, damit sie von nginx verwendet wird?
 
Meine heißen z.B. www-rewrite.conf, nextcloud-rewrite.conf usw. Ich habe eine pro Proxy, z.B.
Code:
server {
        listen 80;
        server_name www.xyz.de;

        return 301 https://$host$request_uri;
}
kann man aber kombinieren.

Dann sprichst du wohl einen http-Server über https an und bekommst einen ERR_SSL_PROTOCOL_ERROR
 
Der Name ist egal. Was immer nginx in diesem Ordner findet, wird versucht der Konfiguration hinzuzufügen. Testen und aktivieren wenn alles ok ist mit

Bash:
sudo nginx -t
sudo nginx -s reload
 
Danke. Also derzeit sieht meine Datei so aus und funktioniert noch nicht.

1611665181441.png
Test:
1611665338097.png
 
Dann ist noch ein anderer Serviceeintrag auf Port 80 aktiv für diese subdomains.
 
Es geht! :love:

In der Reverse Proxy Übersicht in DSM waren noch zwei Regeln für Port 80 drin, also entfernt, erneut getestet: Keine Fehler. Nach dem Reload hat es direkt funktioniert. Ich erreiche beide Seiten ohne vorangestelltes https:// und die Verbindung ist sicher.

Besten Dank an alle!!!
 
Lösch aber mal sicherheitshalber nochmal die Cookies im Browser oder probiere es von einem anderen PC.
Nicht, dass das noch eine Spätfolge von HSTS ist. Da hab ich mir mal den Wolf gesucht, wieso es bei mir ging und bei anderen nicht.
 
Habe ich getan, funktioniert! Hatte auch zuvor schon vor jedem neuen Versuch die Cookies gelöscht und auch HSTS deaktiviert. Sollte man HSTS generell eher aktivieren?
 
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