如何在 Spring 框架中实现客户子域

How to implement customer subdomain in Spring framework

在许多 SaaS Web 应用程序(例如 Atlassian JIRA)中,用户可以拥有专用的子域。例如,如果我的用户名为 helloworld,那么在我登录 Web 应用程序后,我将被重定向到 helloworld.atlassian.net

如何在Spring框架中实现?

我是否必须为每个客户提供一个应用程序服务器实例 运行? 但这种剂量似乎是最便宜的解决方案。 Spring有没有这样的功能,我可以根据用户名创建动态子域,而在后端,只有一个应用程序服务器实例是运行?

创建一个自定义过滤器来解析整个 url 并提取子域,然后检查用户是否在具有适当权限的适当域中。另外值得一提的是,Nginx 应该重定向“*.yourdomain.com”,这样所有的子域都不必存在于 Nginx 中,它们可以存在于数据库中,并且每个用户都有自己独特的或者可以附加多个 sudomain,您的自定义过滤器可以检查每个请求。