我想在传输级别保护WCF服务,但是阅读本文时它说它适用于Intranet场景: http://msdn.microsoft.com/en-us/library/ff648863.aspx
“在以下情况下使用传输安全性:
您正在从应用程序直接向WCF发送消息 服务和消息不会通过中间路由 系统。 服务和客户端都位于Intranet中。“
对于Internet场景,应该使用Message Security方法吗?
“您的WCF客户端正在通过Internet访问WCF服务 消息可以通过中间系统路由。“
请告诉我,传输安全性是否仅适用于Intranet方案?
答案 0 :(得分:3)
您可以通过互联网使用Transport
级别的安全性服务。 Message
- 通常建议使用级别安全性,因为它提供了更高级别的安全性。 Message
- 级别提供端到端安全性,而Transport
级别仅提供点对点,但这并不意味着您无法在没有Message
安全性的情况下创建安全WCF服务。
甚至有些情况下,互联网上的Message
安全性是一个糟糕的选择,例如Streaming Large Data。使用Message
安全性时,您无法以块的形式传输数据,因为在设置消息安全性之前,WCF会在传输之前将所有消息缓冲到内存中。这可能导致可伸缩性问题。
您可以使用Secure HTTP(HTTPS协议)通过互联网以Transport
安全保护您的WCF服务。在服务器计算机上安装证书,将证书绑定到服务器计算机上的指定端口,SSL将提供安全性。
但我总是在互联网场景中使用Message
安全性 - 除非在上述大数据场景中情况不允许。