2009-06-22 71 views
1

我有一個開發機安裝與IIS 6,我有不同的IP地址配置3名網站:如何IIS決定打什麼網站對本地主機

默認(全部未分配) WS1(192.168.1.250) WS2(192.168.1.249)

我想知道當我在URL中指定localhost時,IIS如何確定要點擊哪個站點?這是可配置的嗎?如果是這樣,我該如何去做這件事?

回答

9

當IIS響應HTTP請求時,會使用3條信息來確定應該使用哪個網站構建響應。

  1. IP地址 - 瀏覽器使用地址欄中的名稱執行DNS查詢並獲取主機的實際IP地址。它將http請求發送到該IP地址。
  2. 端口 - 默認情況下,非SSL請求爲80,SSL爲443。
  3. 主機頭部 - http請求的一部分是主機頭部。該主機標題匹配用戶請求的地址的域名,包括子域名或主機名。例如:www.foo.com secure.foo.com server1.foo.com subdomain.foo.com server2.subdomain.foo.com等,根據你的問題

假設:

1 - 您的機分配3個IP地址:

  • 192.168.1.250 - 指定爲網站1,姓名WS1
  • 192.168.1。249 - 分配爲網絡STIE 2名WS2
  • 都WS1和WS2在IIS中定義並映射到相應的IP地址

2 - 你有一個分配給你的機器第3的IP地址,該地址是原IP地址。 (這可能也可能不是這種情況,我認爲它是如此,因爲這是大多數人在將IP分配給網站時所做的)。

3 - IIS中的默認網站的IP地址設置爲:(All Unassigned)

4 - 您的IIS配置中未指定任何主機頭或端口。

因此,在您的機器上運行瀏覽器時,請鍵入:http://localhost(無端口號),IIS會做什麼?

根據之前的回覆,瀏覽器將localhost轉換爲127.0.0.1作爲IP地址,併爲該IP地址構造HTTP請求。主機頭將爲localhost

在這種情況下,IIS將看到WS1和WS2都沒有匹配的IP地址,因此默認站點將用於處理請求。

如果您希望讓WS1或WS2響應請求,請禁用默認站點,並將WS1或WS2的IP地址設置更改爲(All Unassigned)

+0

1,2,3和4是正確的 現在我做到這一點去WS2這是我覺得奇怪的時候。我原以爲它應該去默認網站 – bechbd 2009-06-22 19:36:05

1

localhost與127.0.0.1相同,所以我認爲它將歸入全部未分配狀態,因爲它與您的其他IP地址不匹配。

3

localhost通常意味着127.0.0.1,這是一個特殊的IP地址,稱爲Loopback Address,它始終和無處不在定義爲「當前機器」。它與您的Web服務器的外部IP地址不同:如果IIS預計連接到IP地址192.168.1.250,則與127.0.0.1的連接將不匹配。

localhost可在Hosts文件中配置(通常位於C:\Windows\System32\Drivers\Etc\Hosts)。但是不要重新配置它,因爲如果你重新配置它,可能會有很多程序可能會中斷。

相反,您可以在Hosts文件中設置備用域。例如,你可以做

192.168.1.250 my.internal.website.com 
192.168.1.249 your.internal.website.org 

,然後如果你瀏覽到這些域之一,IIS會看到正確的IP地址,並顯示你想要的網站。

-1

「localhost」 的映射在

C到127.0.0.1:[Windows目錄] \ SYSTEM32 \ DRIVERS \等\主機

有沒有延長,但主機是可以編輯的文本文件您選擇的文本編輯器。

相關問題