如何使用通配符为 SaaS 产品配置动态子域?

How to configure dynamic Subdomains for SaaS Product using wildcard?

我的网站 URL 是 www.example.com。每当有任何用户注册时,我都想根据他们的名字向他们提供动态 url。例如 -

对于 ClientA - url 应该是 - http://clientA.example.com
对于 ClientB - url 应该是 - http://clientB.example.com
对于 ClientC - url 应该是 - http://clientC.example.com ...等等...

我怎样才能做到这一点?我在 Amazon aws 上托管我的应用程序,并在 Godaddy 上注册域。所以我尝试关注 -

使用 -

在 AWS 上更改了 Apache httpd.conf 文件
<virtualhost *:80>
    ServerName     www.example.com
    ServerAlias    example.com
    ServerAdmin    webmaster@example.com
    DocumentRoot   /var/www/html/web-site/
</virtualhost>

<virtualhost *:80>
    ServerName     app.example.com
    ServerAlias    *.example.com
    ServerAdmin    webmaster@example.com
    DocumentRoot   /var/www/html/myapp/
</virtualhost>

然后更改了 GoDaddy 上的 CNAME 设置 -

主持人:“*”
指向:'@'

上面的 httpd.cnf 在我尝试重新启动 apache 时发出警告 - [warn] _default_ VirtualHost overlap on port 80, the first has precedence(但是它以状态 'OK' 重新启动)

现在当我打开 www.clientA.example.com 时,页面对应于 /var/www/html/web-site/ 被加载而不是 '/var/www/html/myapp/'

我想知道是我的方法不正确还是我遗漏了什么?

请帮忙。

得到解决方案。我只遗漏了一件简单的事情 -

我必须在我的 httpd.conf 文件中添加 NameVirtualHost,如下所示:

NameVirtualHost *:80