我在端口80的IIS中设置了一个ASP.net MVC应用程序。该网站针对任何子域进行解析。像dev.localhost,test.localhost等。不,我没有在我的机器上设置任何这些子域。我没有主机文件条目,除了默认值,没有主机头。从我在线阅读的所有内容来看,您需要配置一个子域,您需要执行主机文件输入并添加主机头。没有我做任何事情,这是如何工作的?我是否错误地设置了我的网站?
答案 0 :(得分:0)
我的直觉(虽然我没有为ASP.Net MVC验证这一点)是它为你的应用程序“保留”了网址http://+:80/ - 这意味着端口80上解析为localhost的任何域名(* .localhost,127.0.0.1,hosts file entires等)将被路由(由操作系统和IIS)到你的ASP.Net进程,以便它处理。
有几种方法可以验证这一点:
netsh命令示例:
$ netsh http show urlacl
答案 1 :(得分:0)
我猜你有一个没有http绑定主机名的网站,所以所有的请求都是这样的。如果您在主机名中填写“localhost”,则除非您在主机中添加条目,否则它不应再适用于子域。
答案 2 :(得分:0)
子域名只会像基于DNS解析的主域一样路由到端口80。如果IIS中没有多个绑定,则主绑定将为所有请求提供服务。