Django让用户添加自定义域

时间:2015-05-30 09:02:36

标签: python django dns

我想允许用户在Django应用中将他们的域映射到他们的页面。因此,如果他们的页面位于:user.mydomain.com,我希望他们能够将他们的域映射到网址,使其成为:usersdomain.com。

我找到了这个答案,让我了解了如何设置子域名:

  

如果您控制域的名称服务器并且可以访问该域名   RNDC键,你可以使用后注册视图/信号来喷出一个   cname到您的DNS服务器,将username.yoursite.com恢复为   yoursite.com。确保已设置apache以接收通配符   virtualhost到正确的应用程序,然后使用自定义中间件来   读取request.META ['SERVER_NAME']。lsplit('。')[0]看看是什么的   子域名是。然后,您可以在视图中使用此信息   区分用户子域。

但是我不知道如何让用户将他们的域指向我的子域。

1 个答案:

答案 0 :(得分:0)

首先,我会指示您的用户设置相应的DNS记录,将其域名指向您的域名(可能是CNAME)。

然后,您需要将ALLOWED_HOSTS中的settings.py设置设置为支持的通配符(*)。需要注意的是,此配置会打开一个安全漏洞,因此您需要实现Django自己的主机验证,recommended at the middleware level

然后,您必须修改用于显示用户页面的任何技术。而不是匹配子域,匹配整个域。