2014-04-02 35 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