【发布时间】:2009-06-09 13:28:16
【问题描述】:
我被要求设置一个 .NET Web 服务来公开一些查询数据库的方法,这不是一项艰巨的任务,但他们说他们希望使用 SSL 对其进行保护,因为它不是内部的。
如何将 SSL 与 Web 服务一起使用?
这是要使用 WCF 的,还是我应该坚持使用 .net 2.0 Web 服务?
提前致谢
【问题讨论】:
标签: c# .net wcf web-services ssl
我被要求设置一个 .NET Web 服务来公开一些查询数据库的方法,这不是一项艰巨的任务,但他们说他们希望使用 SSL 对其进行保护,因为它不是内部的。
如何将 SSL 与 Web 服务一起使用?
这是要使用 WCF 的,还是我应该坚持使用 .net 2.0 Web 服务?
提前致谢
【问题讨论】:
标签: c# .net wcf web-services ssl
【讨论】:
无论您是否使用 SSL,它都不会对 Web 服务产生任何影响。像为普通网站设置 SSL 一样为 Web 服务设置网站。
编辑:如果您使用的是 IIS 托管的 .Net 2.0 Web 服务或 IIS 托管的 WCF 服务。如果您有独立的 WCF 服务,请参阅 Fredou 的链接。
【讨论】:
所有 WSE (asmx) WSE3 和 WCF (svc) Web 服务都可以通过 SSL 正常工作,基本上没有任何更改。实际上,最初 WCF 的 TransportWithMessageCredential 安全模式只能通过 SSL 工作。
为方便起见,最简单的做法是在 IIS 中托管 Web 服务并让 IIS 处理 SSL(不必在代码或配置文件中弄乱证书)。
我还在 IIS(服务多个站点)中看到了一个故障,其中非默认站点上的 WCF 端点无法通过 http(与站点有关)访问,但在 https 上运行良好。它需要一个自定义服务工厂来使其可靠地工作(通过完全禁用 http,留下 https)。
【讨论】: