WebAPI + Azure WebSite +客户端WebSite + SSL - 我需要多少证书?

时间:2013-07-29 03:15:06

标签: asp.net-mvc azure ssl asp.net-web-api azure-web-sites

我有一个在Azure网站(appnameapi.azurewebsites.net)中托管的WebAPI解决方案,它现在有一些端点暴露给常规http。

我还在appname.azurewebsites.net下的单独网站上托管了一个客户端应用程序。

我从悬停中购买了appname.com并通过屏蔽转发appname.comappname.azurewebsites.net。客户端应用程序立即向appnameapi.azurewebsites.net发出请求,但未加密。

我的目标是让SSL在Web客户端上运行,以便用户在浏览器栏中看到SSL,从而加密从客户端到api端点的任何内容。

我去了rapidSSL并购买了appname.com的证书。现在我不确定是否需要将它放在我的WebAPI网站或我的客户端网站上。我已经找到了一些关于在Azure中设置SSL的文档,但没有什么能让我很好地掌握在这种情况下需要做什么。

下一步是什么?我是否需要为每个站点提供一个证书,如果没有,那么单个证书在哪里?

1 个答案:

答案 0 :(得分:3)

您的客户网站是appname.azurewebsites.net。您已appname.com映射到此。您的SSL证书适用于此域。因此,您需要将证书与客户端应用程序放在一起。作为最终用户,如果我转到appname.com,您的应用将在我的浏览器中显示的证书将是您为appname.com购买的证书。这适用于客户端Web应用程序呈现的页面。

现在,当浏览器从客户端Web应用程序呈现页面时,说它需要对您的Web API站点appnameapi.azurewebsites.net进行jQuery AJAX调用。你也可以使用这个域名,有些像api.appname.com,但无论如何,这将是一个跨域调用,BTW。如果此调用也是通过HTTPS进行的,那么对于这种情况,也必须向浏览器提供有效的证书。假设您api.appname.comappname.com的子域,您可以使用从带有Web API站点的rapidSSL购买的相同证书,前提是它是一个外卡证书,这显然更多昂贵。否则,您将需要为web api站点提供一个证书(如果您计划使用一个域名,则需要域名),并在api应用程序中安装该新证书。