
Ich habe einen Onlinedienst, der ein öffentliches Profil für Benutzer bereitstellt. Benutzer können sich anmelden und ihre Profile unter ansehen www.example.com/users-name
.
Ich möchte einen Premium-Service anbieten, bei dem der Benutzer über seinen eigenen Domänennamen auf dieses Profil zugreifen kann (wobei die Site selbst weiterhin von mir gehostet wird). Wenn sie sich also registrieren users-custom-domain.com
, können sie diese Site besuchen und sehen dasselbe Profil wie oben sowie einige Premium-Funktionen
Welche Art von Infrastruktur muss vorhanden sein, um dies zu unterstützen? Vermutlich müsste der Benutzer seinen DNS auf meine Server umleiten? Wenn ich mein Produkt auf einem Cloud-Host wie Heroku hoste, kann dies erreicht werden? Würde jeder Benutzer, der eine benutzerdefinierte Domäne verwendet, auf eine isolierte Webanwendung zugreifen? Wenn beispielsweise eine Cloud-Infrastruktur verwendet wird, sollte jede „Instanz“ eine neue Anwendung ausgliedern oder kann diese irgendwie gemeinsam genutzt werden?
Ich weiß, dass es viele Möglichkeiten gibt, dies zu erreichen. Ich suche lediglich nach Ideen und Best Practices, da ich nicht sicher bin, wo ich anfangen soll (z. B. wie erreicht man dies mit about.me oder Tumblr).
Antwort1
Du brauchst:
- DNS, um den Domänennamen des Benutzers in einen Namen oder eine Adresse zu übersetzen, die Sie kontrollieren. Sie können diesen Dienst hosten und die erforderlichen Datensätze fest codieren, oder der Benutzer kann sein eigenes DNS verwalten und die Datensätze selbst festlegen. Ich empfehle, dass Sie einen Namen in Ihrer Domäne haben, auf den Benutzer ihre Datensätze mit CNAMEs umbenennen können. Wie Github bei der Neunummerierung festgestellt hat, wird es chaotisch, wenn man die Leute IP-Adressen fest codieren lässt.
- Ihre Webdienstinfrastruktur muss wissen, wie sie auf Anfragen für die Domäne des Benutzers reagieren soll und welche Inhalte sie dafür bereitstellen soll. Normalerweise muss der Benutzer dazu in seinem Profil etwas tun, um zu sagen: „Ich werde diese oder jene Domäne auf Sie verweisen“, und dann haben Sie im Hintergrund eine automatisierte Infrastruktur, die die Webserverebene so konfiguriert, dass sie das Richtige tut.
Alles in Ihrer Anwendung kann gemeinsam genutzt werden. Es gibt absolut keinen Grund, für jeden Benutzer etwas anderes zu entwickeln. Die Implementierung pro Anbieter müssen Sie selbst herausfinden. Es gibt zu viele Möglichkeiten und Kombinationen, um Ihnen einen umfassenden Überblick zu geben.