2015-06-05 91 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中沒有多個綁定,則主綁定將爲所有請求提供服務。