2012-04-04 16 views
0

我在Windows 2008 R2標準虛擬服務器上安裝了一堆WCF服務。許多端點綁定到本地主機見下面的例子:當使用LOCALHOST並使用2個IP地址時,服務如何綁定到端口?


端點地址= 「的net.tcp://本地主機:8738 /服務/服務」


這工作的那一刻因爲只有單個本地IP(192.168.20.10)綁定到NIC。

如果我添加其他本地IP地址(192.168.20.11):

1)沒有本地主機引用意味着服務端口上的兩個IP地址公佈?

2)如果沒有,OS如何決定哪個IP?

謝謝 斯科特

回答

1

localhostloopback addressIPv4: 127.0.0.1IPv6 ::1

當一個服務綁定到一個環回地址時,它只能用於該主機。一個用例是web服務組件,它只能通過代理服務器公開HTTP守護進程。將IP地址添加到接口對綁定到localhost的服務沒有任何影響。

當一項服務打算提供給網絡時,綁定通常是*:portnumber。這將偵聽所有IP地址,以便向接口添加另一個IP將導致該服務在新IP地址上可用。

+0

感謝您的回覆。看到這就是爲什麼我很困惑,我知道本地主機是127.0.0.1和服務綁定到127.0.0.1,但我似乎能夠連接到另一臺機器的端口。如果你的建議是真的,那怎麼可能? – 2012-04-04 10:21:42

+0

例如,我們託管一個WCF SMS服務,一個來自Web服務器的Web應用程序與它交談,但SMS服務綁定所有顯示本地主機,沒有IP地址寫入配置文件。 – 2012-04-04 10:23:49

+0

我懷疑你的SMS服務正在被同一臺機器上的另一個服務暴露(代理)。 – MattH 2012-04-04 10:26:43

1

我發現使用類似net.tcp://localhost:4512的東西不會按預期方式綁定到環回地址,而是會在0.0.0.0:4512上偵聽,從而接受所有IP地址的連接。

相關問題