我的烧瓶应用程序如何为用户自动创建子域?

时间:2019-02-23 18:56:41

标签: python-3.x flask saas flask-login

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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

请参阅How to create dynamic subdomains in a Flask application,以了解@app.before_request如何在请求路由期间解析出新颖的主机名。