如何使用通配符为 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
我的网站 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