使用VS 2015进行子域的本地调试

Shi*_*mmy 6 subdomain iis-express asp.net-core-mvc visual-studio-2015 asp.net-core

我有一个多租户网站,必须处理任何传入的请求,并确定URL子域的适当路由.

我使用解决方案或类似解决方案设置子域路由.

但是,我正在尝试使用子域名和别名网站访问我本地计算机上的网站.我无法通过我指定的子域将本地IIS移植到我的网站.
我想在我的本地机器中专用一个虚拟域名,该域名将移植到我在VS(localhost:23456)上调试的网站.

我已经阅读了一些相同问题的答案(比如这个或者这个),但看起来系统已经改变了新的IIS和Visual Studio 2015以及ASP.NET 5 MVC 6(vNext)项目配置.

这是我根据上面的答案尝试的:

  • 我尝试将hosts文件移植www.myexample.com到设置127.0.0.1但在导航到www.myexample.com:23456浏览器时出现"错误请求"错误,无论如何调试器都不报告请求.
  • 我尝试<binding protocol="http" bindingInformation=":23456:www.myexample.com" />applicationhost.config文件中设置,获取IIS以引发错误" 使用localhost替换主机名.任何其他不具体的,因为该网站引发了IIS错误.bindingInformationlocalhost

更新

opiants回答之后

我知道.vs文件夹,那是我正在配置绑定.
但是,看起来是导致IIS抛出错误的权限.运行该netsh命令解决了这个问题.顺便说一句,因为我只运行自己的机器,所以我不需要打开防火墙.

无论如何,我的问题是,是否有办法分别添加通配符而不是每个子域?由于每个租户都有一个独特的子域,因此添加子域的整个过程本质上都是动态的.我需要在所有3个地方都允许使用星号:

  • 主机文件
  • applicationhost.config文件
  • netsh命令

看起来我可以在这些地方添加星号,但它实际上并不起作用.

Dea*_*ane 6

我猜你在本地使用IIS express?

如果是这样,在您的解决方案目录中,有一个.vs文件夹.您需要在该\config\applicationhost.config文件夹中的文件中添加绑定.然后确保您已允许IIS express收听该子域.

您可以参考Scott 关于如何配置IIS Express文章.请专门查看本段" 1.使用IIS快捷方式在80端口外部服务 "

更具体地说,您需要运行以下命令:

netsh http add urlacl url=http://{your-domain}:{custom-port}/ user=everyone

netsh firewall add portopening TCP {custom-port} IISExpressWeb enable ALL