2009-09-02 104 views
0

我有一個WCF客戶端和通過wsHttpBinding使用HTTPS的服務。爲什麼我的本地WCF客戶端的IP不是127.0.0.1?

一個常見的安裝程序在同一臺機器上具有客戶端和服務器組件。客戶端必須將端點地址設置爲包括服務器的機器名稱,而不是用於SSL原因的本地主機,即https://mymachine/myservice/service.svc

問題是,默認IIS僅將IP限制白名單限制爲127.0.0.1。如果我瀏覽IE7中的svc文件,這可以工作,但是在使用WCF客戶端時,我可以在IIS日誌中看到WCF服務器從WCF客戶端的網絡/實際IP地址(而不是127.0.0.1)接收消息,並且因此客戶被拒絕。

有誰知道爲什麼WCF客戶端使用網絡IP進行本地通信,而不是127.0.0.1,這可以更改嗎?

任何其他解決方法讚賞,但我真的希望避免更改SSL設置或檢修綁定。最簡單的解決方案似乎是使用客戶端新IP更新系統重新啓動時的白名單。

請注意,我已經嘗試添加我的機器名,在主機文件中使用IP 127.0.0.1,但這沒有效果。

回答

0

我對舊版Windows的回憶是,Windows在這個類別中有點煩人,因爲它似乎是自命名的。換句話說,Windows並沒有讓所有命名服從DNS和/ etc/hosts的配置選擇,而是似乎認爲它可以將信息服務於自己的主機名(即使它可能與外部命名服務所說的不同)。

因此,您可能會看到Windows將主機名與主界面的IP地址相匹配。這就解釋了爲什麼你不能用/ etc/hosts來映射主機名。

(FYI:這是我的我的過去的親身經歷詮釋和問題說明我並沒有花時間與此配置工作,所以可能會有更多的這方面比我提到。)

+0

接受:由於沒有意見對此答案提出質疑,也沒有更好的答案。 – MattH 2010-02-18 16:31:25

0

是否與

https://localhost/myservice/service.svc 

工作更換

https://mymachine/myservice/service.svc 

+0

不幸的是沒有,因爲以SSL證書爲機器名,而不是localhost – MattH 2009-09-03 09:10:58

相關問題