我的 Web 应用程序托管在 AWS 上。这是您的标准 Laravel/PHP 应用程序。我希望有一项功能,让注册的用户能够在专用子域(例如 USERNAME.mywebapp.com)中查看其内容
显然,每次修改 NGINX 配置并重新启动是行不通的。我想知道 AWS Route 53 是否提供使用我可以从后端生成的 API 调用来创建和删除子域的功能。
如果有人对我应该如何解决这个问题并实现可扩展性有一个好的建议——我会很高兴听到。
答案1
我想知道 AWS Route 53 是否提供使用我可以从后端生成的 API 调用来创建和删除子域的功能。
您绝对可以使用 Route 53 API 来创建子域,但实际上并不需要这样做。
(例如 USERNAME.mywebapp.com)
为了支持此功能,您只需要一个*.mywebapp.com
通配符 DNS 记录,而不是为每个客户提供一个明确的 DNS 记录。
显然,每次修改 NGINX 配置并重新启动是行不通的
关于管理您的 HTTP 服务器配置:
首先,我不会轻易放弃修改 HTTP 服务器配置然后运行配置重新加载。使用 Chef 之类的工具从动态生成的源(例如 JSON 文件)自动管理数百个 vhost 配置非常实用。我亲自使用过这种方法,它并不像听起来那么糟糕。
另一个选项是让你的应用程序处理子域路由。以下是 Laravel 示例:http://laravel-tricks.com/tricks/dynamic-subdomain-routing