如何在IIS上本地托管WCF服务,该服务将通过Internet提供给客户端,并为其配置SSL?

时间:2012-06-14 17:28:53

标签: c# wcf web-services iis hosting

我有一个C#WCF服务和我写的客户端,以便企业的员工可以在移动设备上从客户端输入/输出(现在,上网本)。这已经过测试,在开发过程中运行良好,现在是时候将其转移到生产中了。

Production是一台运行Win 2008 R2 x64的HP Proliant ML110服务器,位于商务办公室(这是一个家庭办公室)。由于它是一个家庭办公室,只有一个普通的家庭有线互联网连接,我已经建立了一个免费的无IP动态DNS帐户和端口转发,以便网络流量正确地进入该服务器。

从远程计算机上,我可以访问服务器上IIS托管的Web服务的WSDL,所以作为使用http://example.no-ip.org/exampleService/LaborService.svc?wsdl的示例(不是实际的URL),我可以看到来自通过互联网远程机器。

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

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

默认情况下,服务和客户端使用带有Windows身份验证的wsHttpBinding。我认为最好的事情,因为这不是任何高度敏感的数据(只是员工姓名,身份证,重新编码/工作名称,身份证,重新编码/工作地点ID,姓名,参考代码/时钟输入和输出时间),将是具有使其工作所需的最低安全性,因此我可以在远程客户端上进行连接。

所以现在,我在Windows 2008上安装了IIS7,并在其上部署了C#WCF服务,我可以从中连接本地客户端。我需要做些什么才能公开发布此消息?我知道有很多选择,但我认为我需要的是让某人就最好的方式给我他们的意见,以及如何完成这项工作的指示或指导(所以请知道这是一个广泛的问题,很多答案,但只需选择一个你认为最好的解决方案并向我解释;我会永远感激。)

作为一个如何无知我如何部署Web应用程序的例子;我不知道获得SSL证书需要什么,或者如果我有一个SSL证书,或者如何配置IIS,服务和客户端使用它。所以关于如何做这些事情的说明会很棒。

感谢。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

Here是一个截图教程(在WCF托管下查看)。

对于WCF安全配置,请查看此处:

Link1Link2

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

Link1Link2

如果您花一些时间仔细阅读这些网站,您应该可以在30分钟内设置配置。

如果这有用,请告诉我。