【发布时间】:2009-09-02 16:32:20
【问题描述】:
我有一个 WCF 客户端和服务,通过 wsHttpBinding 使用 HTTPS。
一种常见的设置是在同一台机器上安装客户端和服务器组件。由于 SSL 原因,客户端必须设置端点地址以包含服务器的机器名称,而不是 localhost,即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 更新白名单。
请注意,我已尝试在 hosts 文件中添加我的机器名,IP 为 127.0.0.1,但这没有效果。
【问题讨论】: