我的 Web 應用程式託管在 AWS 上。這是您的標準 Laravel/PHP 應用程式。我希望有一個功能,註冊的使用者能夠在專用子網域中查看其內容(例如 USERNAME.mywebapp.com)
顯然,每次修改 NGINX 配置並重新啟動並不能解決問題。我想知道 AWS Route 53 是否可以使用我可以從後端產生的 API 呼叫來建立和刪除子網域。
如果有人對我應該如何解決這個問題並以可擴展性為目標有一個優雅的建議——我會很高興聽到。
答案1
我想知道 AWS Route 53 是否可以使用我可以從後端產生的 API 呼叫來建立和刪除子網域。
您絕對可以使用 Route 53 API 建立子網域,但實際上並不需要這樣做。
(例如使用者名稱.mywebapp.com)
為了支援這一點,您只需要一個*.mywebapp.com
通配符 DNS 記錄,而不是每個客戶的明確 DNS 記錄。
顯然,每次修改 NGINX 配置並重新啟動並不能解決問題
關於管理 HTTP 伺服器配置:
首先,我不會這麼快就取消修改 HTTP 伺服器配置,然後執行配置重新載入。使用 Chef 之類的工具從動態產生的來源(例如 JSON 檔案)自動管理 100 個虛擬主機配置是非常實用的。我親自使用過這種方法,它並不像聽起來那麼糟。
另一種選擇是讓您的應用程式處理子網域路由。這是一個 Laravel 範例:http://laravel-tricks.com/tricks/dynamic-subdomain-routing