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

时间:2015-03-14 21:05:09

标签: amazon-web-services subdomain cname wildcard-subdomain

我的网站网址为www.example.com。每当用户注册时,我想根据他们的名字为他们提供动态网址。例如 -

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

我怎样才能做到这一点?我在亚马逊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设置 -

主持人:&#39; *&#39;
指向:&#39; @&#39;

当我尝试重启apache时,上面的httpd.cnf正在发出警告 - [warn] _default_ VirtualHost overlap on port 80, the first has precedence(但已重新启动状态&#39;确定&#39;)

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

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

请帮忙。

1 个答案:

答案 0 :(得分:0)

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

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

NameVirtualHost *:80