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

dtv1899

Benutzer
Mitglied seit
09. Aug 2013
Beiträge
97
Punkte für Reaktionen
2
Punkte
8
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.
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.250
Punkte für Reaktionen
2.845
Punkte
423
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.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
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.
 

dtv1899

Benutzer
Mitglied seit
09. Aug 2013
Beiträge
97
Punkte für Reaktionen
2
Punkte
8
@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?
 

Penthys

Benutzer
Mitglied seit
04. Jun 2020
Beiträge
250
Punkte für Reaktionen
53
Punkte
34
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

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
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

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.250
Punkte für Reaktionen
2.845
Punkte
423
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.
 

dtv1899

Benutzer
Mitglied seit
09. Aug 2013
Beiträge
97
Punkte für Reaktionen
2
Punkte
8
@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:

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.250
Punkte für Reaktionen
2.845
Punkte
423
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?
 

dtv1899

Benutzer
Mitglied seit
09. Aug 2013
Beiträge
97
Punkte für Reaktionen
2
Punkte
8
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:

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.250
Punkte für Reaktionen
2.845
Punkte
423
Schau mal hier.
 

dtv1899

Benutzer
Mitglied seit
09. Aug 2013
Beiträge
97
Punkte für Reaktionen
2
Punkte
8
Danke für den Link.

Wie muss die fertige Datei dann genau heißen, damit sie von nginx verwendet wird?
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.250
Punkte für Reaktionen
2.845
Punkte
423
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
 

Penthys

Benutzer
Mitglied seit
04. Jun 2020
Beiträge
250
Punkte für Reaktionen
53
Punkte
34
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
 

dtv1899

Benutzer
Mitglied seit
09. Aug 2013
Beiträge
97
Punkte für Reaktionen
2
Punkte
8
Danke. Also derzeit sieht meine Datei so aus und funktioniert noch nicht.

1611665181441.png
Test:
1611665338097.png
 

Penthys

Benutzer
Mitglied seit
04. Jun 2020
Beiträge
250
Punkte für Reaktionen
53
Punkte
34
Dann ist noch ein anderer Serviceeintrag auf Port 80 aktiv für diese subdomains.
 

dtv1899

Benutzer
Mitglied seit
09. Aug 2013
Beiträge
97
Punkte für Reaktionen
2
Punkte
8
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!!!
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.250
Punkte für Reaktionen
2.845
Punkte
423
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.
 

dtv1899

Benutzer
Mitglied seit
09. Aug 2013
Beiträge
97
Punkte für Reaktionen
2
Punkte
8
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?
 


 

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