如何隐藏你的服务器在 MyService.svc 有一个 WCF 服务的事实

如何隐藏你的服务器在 MyService.svc 有一个 WCF 服务的事实

有没有办法在运行 IIS 6.0 和 .NET 3.5 SP1 的服务器上通过对 WCF 服务(.svc 文件)的直接访问请求提供自定义的“抱歉未找到”页面。

我有一个要求,即生产环境中的服务不可被发现。该要求指出应关闭 WSDL 发布,并且请求还指出,当通过 HTTP Get 请求直接访问 MyService.svc 文件时,将显示“抱歉未找到”页面。

禁用配置文件中的元数据我没有问题。

<serviceMetadata httpGetEnabled="false" />

但我想不出不显示默认 .svc 页面的方法。

服务
这是 Windows© Communication Foundation 服务。

此服务的元数据发布目前已被禁用。

如果您有权访问该服务,则可以通过完成以下步骤修改您的 Web 或应用程序配置文件来启用元数据发布:...

也发布于堆栈溢出

答案1

您不能仅使用 clientaccesspolicy.xml 或 crossdomainpolicy.xml 文件来限制访问吗?

如果你担心有人会误入http://你的站点/service.svc

yourdomain.com 的 crossdomainpolicy.xml 示例

<cross-domain-policy>
  <site-control permitted-cross-domain-policies="all" /> 
  <allow-access-from domain="*.yourdomain.com" secure="false" /> 
  <allow-http-request-headers-from domain="*" headers="*" secure="false" /> 
</cross-domain-policy>

相关内容