在VS中的本地Web服务器上测试子域

时间:2013-01-17 18:47:00

标签: c# asp.net-mvc azure multi-tenant

我仍在尝试Azure多租户开发。我现在有了第一个试用版,但为了使用子域名(customer.site.com),我需要将我的Azure网站切换为共享/保留。由于我还在试验,我宁愿不开始为Azure付费。有没有解决的办法?或者,是否可以在我当地的visual studio webserver中测试多租户部分?

1 个答案:

答案 0 :(得分:3)

不,您不能拥有免费网站的自定义域名。

但是你可以做的是将租户识别从子域切换到路径。因此,您不必拥有tenant10.site.com/ mysites.azurewebsites.net/tenant10/。这基本上只是URL重写规则的一个变化 - 我认为这是在URL级别处理多租户识别的正确方法。 Azure WebSites以及Azure云服务都支持URL重写。

在本地测试多租户更容易。您只需打开hosts文件(在典型的Windows安装中,它位于c:\windows\system32\drivers\etc\hosts。只需为要测试的所有(子)域添加条目,并将它们映射到127.0.0.1。 :

127.0.0.1   tenant1.mydomain.com
127.0.0.1   tenant2.mydomain.com
127.0.0.1   tenant15.mydomain.com
...

然后,像往常一样使用F5运行项目,并在浏览器的地址栏中手动输入新地址:tenant1.mydomain.com。

但首先使用F5启动项目以检查本地开发结构的真实IP地址,因为有时它可能不是127.0.0.1,而是127.0.0.8或其他。浏览器首次启动时使用的IP地址是您必须填写hosts文件的IP地址。

但是,如果您使用hosts文件中的真实(子)域名,请不要忘记从中删除条目,因为您永远无法访问真正的互联网站点。