2015-06-05 46 views
1

我有一个ASP.net MVC应用程序在我的IIS端口80设置。该网站解决任何子域。像dev.localhost,test.localhost等。不,我没有在我的机器上设置任何这些子域。除默认值外,我没有主机文件条目,也没有主机头文件。从我在线阅读的所有东西,它看起来像配置一个子域,你需要做一个主机文件入口,并添加主机头。没有我做任何事情,这工作如何?我是否设置了错误的网站?子域名如何工作?

+0

欢迎来到Stack Overflow!我编辑过你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

回答

0

我的直觉(虽然我没有证实这是ASP.Net MVC),它已为您的应用程序保留了网址http://+:80/ - 这意味着端口80上解析为localhost(*。 localhost,127.0.0.1,hosts文件等)将被路由(通过操作系统和IIS)到你的ASP.Net进程中进行处理。

有一对夫妇的方式来验证这一点:

  • 可以在IIS管理员面板检查(如果你不使用IISExpress)什么网址,它已抓获(在“网站绑定”了应用程序)。 '所有未分配'将(我认为)将所有请求路由到该端口 - 无论主机/子域 - 到您的网站;
  • 或者您可以使用netsh的找出网址保留什么:

例netsh命令:

$ netsh http show urlacl 
+0

谢谢你所有的答案。你们都是对的。 – InsaneKarma

0

我猜你有一个单一的网站,没有主机名的HTTP绑定,所有请求会去。如果您在主机名中填写“localhost”,除非在主机中添加条目,否则它不应再用于子域。

+0

但是系统仍然需要解析任何.localhost,除非你配置了一些东西,否则它不应该这样做,对吧?在IIS中配置一个没有主机名/绑定的网站是不够的。 – HaukurHaf

+0

本地主机知道您是否有条目。它仍然解析为您的本地地址。做一个“nslookup localhost”,它指向127.0.0.1。 – Alioza

+0

我知道,但操作系统声明,dev.localhost,test.localhost等工作没有他做任何事情(“我没有主机文件条目,除了默认”),这对我来说没有意义。 – HaukurHaf

0

子域名将只根据DNS解析路由到主端口80。如果您在IIS中没有多个绑定,则主绑定将为所有请求提供服务。