Meine Webanwendung wird auf AWS gehostet. Es ist Ihre Standard-Laravel/PHP-App. Ich hätte gerne eine Funktion, mit der registrierte Benutzer ihre Inhalte in einer dedizierten Subdomäne sehen können (z. B. USERNAME.mywebapp.com).
offensichtlich reicht es nicht aus, jedes Mal die NGINX-Konfiguration zu ändern und neu zu starten. Ich habe mich gefragt, ob AWS Route 53 das Erstellen und Entfernen von Subdomänen mithilfe eines API-Aufrufs ermöglicht, den ich von meinem Backend aus generieren kann.
Wenn jemand einen eleganten Vorschlag hat, wie ich dieses Problem angehen und Skalierbarkeit anstreben kann, würde ich mich freuen, davon zu hören.
Antwort1
Ich habe mich gefragt, ob AWS Route 53 die Erstellung und Entfernung von Subdomänen mithilfe eines API-Aufrufs ermöglicht, den ich von meinem Backend aus generieren kann.
Sie können die Route 53-API definitiv zum Erstellen von Subdomänen verwenden, aber das ist eigentlich nicht notwendig.
(z. B. BENUTZERNAME.mywebapp.com)
Um dies zu unterstützen, benötigen Sie nur einen *.mywebapp.com
Platzhalter-DNS-Eintrag und nicht einen expliziten DNS-Eintrag für jeden Kunden.
offensichtlich wird es nicht ausreichen, jedes Mal die NGINX-Konfiguration zu ändern und neu zu starten
Zur Verwaltung Ihrer HTTP-Serverkonfiguration:
Erstens würde ich es nicht so schnell abtun, die HTTP-Serverkonfiguration zu ändern und dann eine Neuladung der Konfiguration auszuführen. Es ist ziemlich praktisch, etwas wie Chef zu verwenden, um Hunderte von Vhost-Konfigurationen automatisch aus einer dynamisch generierten Quelle (z. B. einer JSON-Datei) zu verwalten. Ich habe diesen Ansatz persönlich verwendet und er ist nicht so schlimm, wie er klingt.
Die andere Möglichkeit besteht darin, dass Ihre Anwendung das Subdomain-Routing übernimmt. Hier ist ein Laravel-Beispiel:http://laravel-tricks.com/tricks/dynamic-subdomain-routing