Subdomain Weiterleitungen nicht sicher

  • Hallo netcup Community,


    ich habe folgendes Problem und hoffe einfach hier mal auf Hilfe. Kurzum: Bin neu hier und einiges ist neu für mich, da ich es so nicht kenne und habe das Gefühl mitunter einfach was falsch gemacht zu haben oder übersehe.


    Was ich machen möchte:
    Subdomain-Weiterleitungen zum Beispiel zum Discord Server damit es nach außen hin "schöner" aussieht.


    Was ich gemacht habe:

    - Ich habe mich eingeloggt und navigiert zu > Produkte > Webhosting-Zugang > Websites & Domains > Subdomain hinzufügen geklickt.
    - Name der Subdomain eingegeben, Domain ausgewählt & Hacken bei Domain mit Let's Encrypt schützen geklickt. Let's Encrypt ist auch auf die Hauptdomain zugewiesen.

    - Anschließend bei der Subdomain xxx.domain.de auf Hosting-Eionstellungen geklickt und Hosting-Typ von Website zu weiterleitung geändert und nachfolgend in der Zieladresse z.B. den Einladungs-Link zum Discord server eingetragen mit der Weiterleitungsart (Code301) Einstellung übernommen. (Dieser Zwischenschritt erschließt sich meiner Meinung nach auch nicht wirklich, bis man mal da ist)


    Mein Problem nun:

    Wenn ich die Subdomain aus dem Panel aus aufrufe > Funktioniert

    Wenn ich die Domain wie folgt eingebe "subname.domain.de" > Funktioniert

    Wird die Domain aber so eingegeben "https://subname.domain.de" > Funktioniert nicht und bekomme die Ausgabe einer unsicheren Verbindung.

    Selbiges mit "https://www.subname.domain.de" oder "http://www.subname.domain.de".


    Habe zwar auch schon den Support kontakiert, scheint mich hinsichtlich dieser Problemathik aber nicht wirklich verstanden zu haben, versicherte mir aber auch, dass Let's Encrypt sowohl auf die Hauptdomain als auch Subdomain greift, was es scheinbar auch tut, nur nicht korrekt.


    Das Hauptproblem dabei ist, um Klinks aktiv als verlinkungen Teilen zu können z.B. auf Facebook und co besteht eben ein Link aus "https://" oder "www." davor.


    xoxo & besten dank \o/

  • Let's Encrypt greift schon sowohl für die Hauptdomain als auch für die Subdomain. Aber nur, wenn du für beide ein Zertifikat hast erstellen lassen. Du musst also sowohl für die Hauptdomain als auch für die Subdomain jeweils ein Zertifikat erstellen lassen, es wird KEIN Wildcard-Zertifikat erzeugt. Das einzige was geht ist ein Zertifikat dass sowohl die Hauptdomain als auch die www-Subdomain schützt. Aber nicht gleichzeitig weitere Subdomains.

  • Let's Encrypt greift schon sowohl für die Hauptdomain als auch für die Subdomain. Aber nur, wenn du für beide ein Zertifikat hast erstellen lassen. Du musst also sowohl für die Hauptdomain als auch für die Subdomain jeweils ein Zertifikat erstellen lassen, es wird KEIN Wildcard-Zertifikat erzeugt. Das einzige was geht ist ein Zertifikat dass sowohl die Hauptdomain als auch die www-Subdomain schützt. Aber nicht gleichzeitig weitere Subdomains.

    Danke Dir für die erste Antwort, so ist also eine klassische Subdomain-Weiterleitung mit netcup nicht möglich? Weil es bringt nichts, Links ohne "www." oder "https://" davor zu verteilen bzw. zu veröffentlichen da sie ja sonst logischerweise von vielen Systemen aus nicht anklickbar sind.


    xoxo

  • Wenn du ein Webhosting-Paket hast, dann mach' die Weiterleitung doch einfach selbst. Dafür brauchst du nur eine Redirect-Anweisung in einer .htaccess-Datei.

    In welcher .htaccess-Datei meinst Du?

    Zudem wäre es ja nicht nur eine Sub-Domain. Unterm Strich muss ich schon sagen, dass dieser Bereich des Webhosting-Angebots meiner Meinung nach wirklich unschön gestaltet ist und mehr schlecht als Recht. Weil ich das Gefühl habe, für jede einzelne Sub-Domain einen Ordner anzulegen, darin eine .php zu erstellen die eine sofortige Weiterleitung zur letztendlich gewünschten URL ermöglicht.

  • Du kannst doch beliebig viele Let's Encrypt Zertifikate erstellen, für jede benötigte Subdomain eines. Also z.B. eins für Domain + www und eins für die Subdomain, die du weiterleiten willst. Unschön mag sein, ist halt Plesk, was die (Sub-)Domain Weiterleitungen betrifft. Je nachdem was du da erreichen willst, wäre vielleicht ein CNAME-Eintrag für die Subdomain im DNS eher das was du willst.

  • Mit CNAME kann er aber keine URLs aufrufen, und es funktioniert auch nur, wenn der Zielserver den Hostname zuordnen kann.


    Weil ich das Gefühl habe, für jede einzelne Sub-Domain einen Ordner anzulegen, darin eine .php zu erstellen die eine sofortige Weiterleitung zur letztendlich gewünschten URL ermöglicht.

    Warum denn bitte PHP? Du braucht nur einen Ordner für alle deine Weiterleitungen. Darin legst du eine .htaccess-Datei an, und kannst sie mit Blöcken ähnlich diesem ganz flexibel konfigurieren:

    Code
    1. <If "req('Host') == 'www.domain.example'">
    2. Redirect / http://www.another.example/
    3. </If>

    Informier' dich mal. Apache ist sauber dokumentiert: https://httpd.apache.org/docs/2.4/

  • Mit CNAME kann er aber keine URLs aufrufen, und es funktioniert auch nur, wenn der Zielserver den Hostname zuordnen kann.


    Warum denn bitte PHP? Du braucht nur einen Ordner für alle deine Weiterleitungen. Darin legst du eine .htaccess-Datei an, und kannst sie mit Blöcken ähnlich diesem ganz flexibel konfigurieren:

    Code
    1. <If "req('Host') == 'www.domain.example'">
    2. Redirect / http://www.another.example/
    3. </If>

    Informier' dich mal. Apache ist sauber dokumentiert: https://httpd.apache.org/docs/2.4/

    Danke für Deine Antwort. Habe jetzt mal ein wenig ausprobiert und herumgespielt, wirklich funktionieren mag diese Methode für mich aber nicht, da ich entweder was falsch mache oder vegessen habe.


    Ich muss die Subdomain schon noch im WCP anlegen und als Weiterleitung erstellen oder? Oder muss die .htaccess-Datei dann in einem bestimmten Ordner sein bzw. die Weiterleitung dahin führen?!


    xoxo

  • Nein, die Subdomain darfst du dann nicht als Weiterleitung erstellen. Im WCP als Website anlegen, Dokumentstammverzeichnis (aka document root) wählen und dann die .htaccess da rein.

    Danke für die Antwort. Habe mich noch ein wenig reinlesen müssen, funktioniert aber nun. Das ist auf jedenfall eine angenehmere Möglichkeit als für alles einzelne index á einer Weiterleitung anzufertigen und deutlich weniger Ordner zu haben :)

  • Hier noch eine kleine Guide dann meinerseits für alle, mit dem gleichen Vorhaben bzw. Problematik und Lösung:


    - Ordner auf dem Webserver erstellen. In diesem habe ich für schlechtere Verbindung eine einfache index.html hinzugefügt damit es schöner aussieht, falls dem so sein sollte, mit dem Hinweis das eine Weiterleitung stattfindet und eben eine .htaccess in dieser erstellt mit folgendem Inhalt:



    - Anschließend im WCP eine normale Subdomain anlegen und gezielt auf einen Ordner zuweisen (z.B. "/domains/") ohne das ein neuer Ordner Angelegt wird bzw. das vorausgefüllte Domain-Feld anpassen & mit Let's Encrypt versehen > anschließend auch für das 'www' unter den allgemeinen Let's Encrypt-Einstellungen für die jeweilige Domain gezielt den Hacken setzen. Done.


    Für mich ist es auch neu, daher für Verbesserungsvorschläge zu haben, funktioniert aber soweit :)

  • So sieht's aus. mod_rewrite kann das natürlich auch erledigen, ist dafür aber eigentlich overpowered. Ich vermeide es, wo immer es geht, was in der Regel zu einer übersichtlicheren und zuverlässigeren Konfiguration führt. Der Rest der Datei ist ein Haufen zusammengestückelter Mist. Ich denke du hast zu viel Gegooglet, nichtmal die Hälfte davon verstanden, und bist bei weitem noch nicht so weit, dass du irgendwelche Guides schreiben solltest. Die index.html würde man höchstens sehen, wenn keine der Regeln greift, du also eine Domain auf das Verzeichnis legst, die du mit keiner Weiterleitung behandelst. Da du dann aber noch einen Basic-Auth hinten dran hängst, würde selbst das nicht funktionieren. "Secure" ist daran überhaupt nichts. Allerhöchstens könnte es noch die Weiterleitung stören, und wo es das nicht tut, bekäme der Nutzer ein Anmeldefenster präsentiert, mit dem er mal gleich gar nichts anfängen kann.

  • So sieht's aus. mod_rewrite kann das natürlich auch erledigen, ist dafür aber eigentlich overpowered. Ich vermeide es, wo immer es geht, was in der Regel zu einer übersichtlicheren und zuverlässigeren Konfiguration führt. Der Rest der Datei ist ein Haufen zusammengestückelter Mist. Ich denke du hast zu viel Gegooglet, nichtmal die Hälfte davon verstanden, und bist bei weitem noch nicht so weit, dass du irgendwelche Guides schreiben solltest. Die index.html würde man höchstens sehen, wenn keine der Regeln greift, du also eine Domain auf das Verzeichnis legst, die du mit keiner Weiterleitung behandelst. Da du dann aber noch einen Basic-Auth hinten dran hängst, würde selbst das nicht funktionieren. "Secure" ist daran überhaupt nichts. Allerhöchstens könnte es noch die Weiterleitung stören, und wo es das nicht tut, bekäme der Nutzer ein Anmeldefenster präsentiert, mit dem er mal gleich gar nichts anfängen kann.

    Wäre dann vielleicht nicht schlecht, zu versuchen das ganze konstruktiver anzugehen anstatt ausschließlich zu kritisieren. Das es keine vollwertige Guide ist, sollte den Lesern klar sein, sofern der erste Post berücksichtige wurde - trotzdem zum gewünschten Ziel kommt da ich bei aller Liebe nicht der einzige mit der Frage bin/war. Nur scheint diese Thematik hier im Forum nie wirklich oder selten besprochen worden zu sein oder ist schwerer zu finden - weil eine Lösung die funktioniert hat, habe ich bis dato nicht gefunden und der "Haufen zusammengestückelter Mist" funktioniert dafür sehr gut.


    xoxo

  • Ich denke, ich hatte dir schon eine sehr strukturierte und funktionsfähige Lösung auf Basis von mod_alias präsentiert. Aber vielleicht befasst du dich ja selbst mal mit der Funktionsweise, statt hier vorgefertigte Lösungen zu erwarten. Die von dir gewählte Lösung mit Hilfe von mod_rewrite ist zwar etwas komplexer, im Prinzip aber nicht falsch. Der von dir zitierte Code deutet aber darauf hin, dass du ihn fast 1:1 irgendwo kopiert hast, vermutlich weil jemand behauptet hat, er sei besonders sicher, was völliger Blödsinn ist.


    Das hier:

    Code
    1. # FORCE SSH
    2. RewriteCond %{HTTPS} off
    3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    … führt (abgesehen davon, dass SSH nicht SSL ist) bei HTTP zu einer doppelten Weiterleitung, weil die Anweisungen von oben nach unten bearbeitet werden, und ist obendrein überflüssig, weil die weiter unten von dir verwendeten Weiterleitungen ja ohnehin bereits auf HTTPs verweisen, und unabhängig vom ursprünglich verwendeten Protokoll greifen.


    Deine Index-Datei wird deshalb niemandem angezeigt, weil der Webserver dadurch einen Redirect mit Code 301 raus haut, und zwar nicht vor, sondern anstelle eines normalen Dokuments. Nur wenn der Benutzer automatische Weiterleitungen ausgeschaltet hat, wird stattdessen der Datenteil des zugleich übertragenen Dokuments anzeigt. Das ist dann aber nicht deine Index-Datei, sondern eine vom Webserver generierte Hinweis-Seite, mit einem Link, wohin die Weiterleitung hätte führen sollen. Um diese selbst zu gestalten, müsstest du stattdessen ein entsprechendes ErrorDocument 301 festlegen. Das hilft dem Nutzer aber nur, wenn es für jede Domain auch einen korrekten Link zum Ziel enthält. Da es aber nichtmal 0,1% deiner Besucher überhaupt sehen werden (hat mit der Geschwindigkeit der Verbindung nichts zu tun), ist es die Mühe nicht wert.


    Der letzte Block in deiner Datei ist, wie bereits gesagt, völliger Unfug, und kann ersatzlos weg. Wolltest du wirklich alle Besucher vom Zugriff auf ein Verzeichnis aussperren wollen, wäre die richtige Anweisung Require all denied, und mehr als diese Zeile braucht es dazu nicht. Das beträfe aber eben ohnehin nur diejenigen, für die keine der Weiterleitungs-Regeln greift, was ja eh nicht vorkommen sollte, und wenn doch, würden diese sonst deine Index-Datei sehen, oder eben nichts, da das Verzeichnis ja ansonsten leer ist.


    Ich kritisiere dich, weil du das alles längst wüsstest, wenn du mal etwas über die Anweisungen gelesen hättest, die du in deine Datei kopiert hast. Wenn du konkrete Fragen hast, kannst du sie gerne stellen.