【发布时间】:2020-11-20 13:45:24
【问题描述】:
我正在开发一个 webapp(Django),让用户只需点击几下就可以拥有一个 eshop。我为https://shopname.mydomain.es 下的商店提供服务,但如果他们愿意,我会为他们提供使用域的选项。
例如,我的一个用户 (user1) 在他选择的域提供商中购买了“happyuser.com”。然后我告诉他们修改他们的 DNS 以指向我的服务器。到目前为止一切顺利,一切正常,我使用 Nginx 允许从连接的域进行访问,一切正常。
我的疑惑来了。我使用中间件来检测主机,在本例中为“happyuser.com”,我检查了一个表,其中包含用户和域名之间的关系。
class UserDomain(models.Model):
user = ForeingKey(...)
domain = UrlField(...)
然后我告诉 Django 为正确的商店提供服务。但是如果另一个用户(user2)也保存了域“happyuser.com”,我怎么知道我应该加载哪个用户商店?我知道这种情况不太可能发生,但是有没有办法防止这个问题发生?
【问题讨论】:
标签: django dns request middleware