如何在 IIS 上本地承载可通过 Internet 提供给客户端的 WCF 服务,并为其配置 SSL

本文关键字:WCF 服务 客户端 SSL 配置 IIS Internet 可通过 | 更新日期: 2023-09-27 18:37:18

我有一个我编写的 C# WCF 服务和客户端,以便企业的员工可以在移动设备(目前是上网本)上的客户端打卡/下班。这已经过测试并在开发中运行良好,现在是时候将其转移到生产环境了。

生产是一台HP Proliant ML110服务器,在企业办公室(家庭办公室)运行Win 2008 R2 x64。由于这是一个家庭办公室,只有普通的家庭有线互联网连接,我设置了一个免费的无IP动态DNS帐户和端口转发,以便网络流量正确进入此服务器。

从远程计算机,我可以访问 Web 服务的 WSDL,其中它托管在服务器上的 IIS 上,因此作为使用 http://example.no-ip.org/exampleService/LaborService.svc?wsdl 的示例(不是实际的 URL),我可以通过 Internet 从远程计算机查看 WSDL。

现在,我需要能够使用 SSL 安全地托管它,并且需要正确配置 IIS 和 Web 服务端点/客户端,以便远程客户端可以通过互联网对此 Web 服务进行身份验证和进行 Web 服务调用。

遇到的问题是,我真的不知道SSL是如何工作的(至少我不知道使用它需要什么),我不知道如何配置IIS或Web服务或客户端。

默认情况下,服务和客户端使用 wsHttpBinding 和 Windows 身份验证。 我认为最好的办法是,因为这实际上不是任何高度敏感的数据(只是员工姓名、id、refcode/工作名称、id、refcode/工作场所 id、name、ref 代码/上下班时间),这将是拥有让它工作所需的最低安全性,以便我可以在远程客户端上连接。

所以现在,我有带有 IIS7 的 Windows 2008 和部署的 C# WCF 服务,我可以从中连接本地客户端。 我该怎么做才能公开提供? 我知道有很多选择,但我认为我需要的是有人给我他们对最佳方法的意见,以及如何完成这项工作的说明或指导(所以请我知道这是一个广泛的问题有很多答案,但只需选择一个您认为最好的解决方案并向我解释;我将永远感激不尽)。

举个例子,说明我对如何部署 Web 应用程序是多么无知;我不知道获取 SSL 证书需要什么,或者如果我有证书该怎么办,或者如何配置 IIS、服务和客户端以使用它。 因此,有关如何执行这些操作的说明将很棒。

谢谢。

如何在 IIS 上本地承载可通过 Internet 提供给客户端的 WCF 服务,并为其配置 SSL

没有人可以回答所有这些是一个答案。 你需要做一些研究。 查看 Essential Windows Communication Foundation (WCF): For .NET Framework 3.5 或任何其他 WCF 书籍。

这是一个带有屏幕截图的教程(在 WCF 托管下查看)。

有关 WCF 安全配置,请查看此处:

链接 1 , 链接 2

有关SSL解释和IIS配置,请查看此处:

链接 1 , 链接 2

当您花一些时间仔细阅读这些站点时,您应该能够在不到 30 分钟的时间内设置您的配置。

请让我知道这是否有帮助。