首页 > 解决方案 > 我的烧瓶应用程序如何为我的用户自动创建子域?

问题描述

我已经构建了一个将由餐厅使用的烧瓶应用程序,我想知道当他们在我们的登录页面上注册帐户时,如何让该应用程序为每个餐厅提供一个子域和自己的数据库。

标签: python-3.xflasksaasflask-login

解决方案


这个问题听起来更像是域名系统而不是 Flask。

您是说您的服务器将开始运行,然后几天或几周后,一个新客户端将注册一些新的restaurant_name,例如“spicytacos”。您想在域名系统中创建一个新的 Simplytacos.example.com FQDN,其中 A 或 AAAA 记录指向您的网络服务器。然后,您的烧瓶应用程序将能够识别餐厅的名称request.args并做出适当的响应。

如果您使用 BIND9 或类似方式运行 example.com 的主名称服务器,那么只需重写区域配置文件并发送 HUP 信号即可。

如果您希望让其他公司处理名称服务详细信息,那么*通配符记录可能是您的最佳选择。它应该是指向您的服务器的 CNAME 或地址记录。

中间路径是使用 DDNS(动态 DNS)服务,可能来自恐惧.org 或 No-IP。这是将 FQDN 绑定到地址的另一种方式,它为您提供了更多控制权。

请参阅如何在 Flask 应用程序中创建动态子域,以了解如何@app.before_request在请求路由期间解析出新的主机名。


推荐阅读