在本地web服务器上测试子域

本文关键字:测试 服务器 web | 更新日期: 2023-09-27 17:53:55

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

在本地web服务器上测试子域

不,你不能有自定义域名与免费网站。

但是您可以做的是将租户识别从子域切换到路径。所以不是tenant10.site.com/,而是mysites.azurewebsites.net/tenant10/。这基本上只是URL重写规则的一个改变——我认为这是在URL级别处理多租户识别的正确方法。在Azure网站和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文件中的真实(子)域名,请不要忘记从其中删除条目,因为您将永远无法访问真正的Internet站点。