我目前正在构建一个 Web 应用程序,我希望我的用户拥有自己的 URL 来识别他们。我可以使用子域名或文件夹来实现这一点,我想知道这两种方式的优缺点是什么。
我非常喜欢文件夹解决方案,因为我的 URL 映射会相当简单。我读过关于自动生成子域的文章,其中一个解决方案是创建虚拟主机,然后重新启动我的 nginx。这是一个解决方案,但我不想每次创建新帐户时都重新启动我的 Web 服务器。如果有其他方法可以自动创建子域,那也很好!
谢谢!
答案1
很多都是主观的,但出于安全考虑,我建议使用子域名 - 被攻陷的脚本列出父目录(以及所有客户端)比确定所有子域名更容易。使用子域名,以后如果需要,可以更轻松地移动文档根目录,也可以更轻松地将它们完全移动到另一台服务器(如果文件太大,无法在一台服务器上处理所有文件怎么办?)
如果您有子域名委派,则可以为每个子域名添加不同的 MX 记录,并且您可能可以使用一些漂亮的重写规则使这两种方法都能发挥作用。
至于无需重启的服务器配置,请参见此链接
答案2
反对使用子域名的一件事是,如果您想使用 https,您将需要一个通配符证书。
答案3
使用子域名最简单的方法是使用允许通配符虚拟主机或“默认”虚拟主机的 Web 服务器。这样您就不必“添加”虚拟主机。 如何使用 nginx 实现通配符域名在其文档中进行了解释。