2014-04-02 33 views
0

我已經構建了一個網站和一個WCF服務。該網站調用WCF服務(網站下的應用程序)來獲取數據。這個連接使用netTcpBinding(它應該是netNamedPipes,但由於某種原因,它拒絕在部署服務器上工作,所以我使用TCP/IP)。 在IIS(7.5)中,我使用了IP地址和域限制來拒絕所有未指定的客戶端訪問WCF服務。我可以看到更改反映在我的web.config中,我無法瀏覽到WCF服務(出現403.6禁用屏幕)。當通過TCP通過網站調用時,拒絕所有通過IIS訪問WCF服務不起作用

問題是,即使我指定不允許IP地址,即使我更改了網站,仍可以調用WCF服務,但網站能夠連接到WCF服務並獲取數據。

爲什麼網站可以訪問WCF服務?

回答

0

您是否在您的網站上制定了相同的IP限制?由於您的網站是調用WCF服務的網站,因此在這種情況下制定相同的IP限制也是有意義的。

+0

不抱歉,它沒有任何意義。該網站需要被任何人訪問。連接到數據庫的WCF服務只能由網站訪問,因爲這是我信任的唯一客戶端(例如,我不希望任何人使用Web瀏覽器調用WCF服務)。 – VictorySaber

+0

然後你應該可以在WCF服務上創建一個IP過濾器。這樣,唯一可以訪問WCF服務的IP就是網站的IP或者,你可以使用令牌認證,在那裏你只能把令牌給網站。 – Jeff

+0

是的你是對的,如果我想,我可以在代碼中進行IP過濾,但是IIS爲我提供了一種拒絕所有對未列出IP地址的訪問的方法。我問的是爲什麼這個功能不適用於我的WCF服務在另一個應用程序(我的網站)下標記爲應用程序。 – VictorySaber