我有一个 C# WCF 服务和我编写的客户端,以便企业员工可以在移动设备(目前是上网本)上的客户端上打卡/打卡。这已经过测试并且在开发中运行良好,现在是时候将其投入生产了。
生产是在企业办公室(即家庭办公室)运行 Win 2008 R2 x64 的 HP Proliant ML110 服务器。因为它是一个家庭办公室,只有一个普通的家庭有线互联网连接,所以我设置了一个免费的无 ip 动态 DNS 帐户和端口转发,以便网络流量正确地进入这个服务器。
从远程机器上,我可以访问托管在服务器上 IIS 上的 Web 服务的 WSDL,例如使用http://example.no-ip.org/exampleService/LaborService 作为示例(不是实际的 URL)。 svc?wsdl,我可以通过互联网从远程机器上看到 WSDL。
现在,我需要能够使用 SSL 安全地托管它,并且需要正确配置 IIS 和 web 服务端点/客户端,以便远程客户端可以通过 Internet 进行身份验证并对该 web 服务进行 web 服务调用。
我遇到的问题是,我真的不知道 SSL 是如何工作的(至少我不知道使用它需要什么),而且我不知道如何配置 IIS 或 web 服务或客户端。
默认情况下,服务和客户端使用 wsHttpBinding 和 Windows 身份验证。我认为最好的事情是,因为这不是任何高度敏感的数据(只是员工姓名、身份证、参考代码/工作名称、身份证、参考代码/工作地点 id、姓名、参考代码/进出时间),将是具有使其工作所需的最低限度的安全性,因此我可以在远程客户端上进行连接。
所以现在,我有带有 IIS7 的 Windows 2008 和部署在其上的 C# WCF 服务,我可以从中连接本地客户端。我必须做些什么才能公开此信息?我知道有很多选择,但我认为我需要的是有人就最好的方法给我他们的意见,以及如何完成它的说明或指导(所以请我知道这是一个广泛的问题很多答案,但只需选择一个您认为最好的解决方案并向我解释;我将永远感激不尽)。
例如,我对如何部署 Web 应用程序一无所知;我不知道获得 SSL 证书需要什么,或者如果我有证书该怎么办,或者如何配置 IIS、服务和客户端以使用它。所以关于如何做这些事情的说明会很棒。
谢谢。