如何在Azure Cloud Service中为我的API和Web客户端设置SSL?

时间:2014-10-10 15:17:46

标签: ssl dns azure-web-roles azure-cloud-services

我在云服务中有2个网络角色;我的API和我的Web客户端。我试图为两者设置SSL。我的问题是,我需要两个SSL证书吗?我需要2个域名吗?

我的api的端点是my.ip.add.ress。我的webclient的端点是my.ip.add.ress:8080。

我不知道如何为此添加dns主菜,因为我无处输入端口号(我学到的是因为它超出了dns系统的范围)。

我不理解什么?这似乎是Azure云服务的一个非常标准的场景(它在本教程的示例项目中以这种方式设置,例如http://msdn.microsoft.com/en-us/library/dn735914.aspx)但我无法找到明确解释如何处理此场景的任何地方

1 个答案:

答案 0 :(得分:0)

首先,您对DNS没有处理端口号是正确的。对于您的情况,您只需为两个端点使用一个SSL证书,并使两个端点具有相同的域名。根据用户请求使用的端口,请求将路由到正确的端点(API与Web客户端)。就像你说的这是一个相对常见的场景。没有必要使事情复杂化。

假设您有一个域名www.dm.com指向IP地址。要访问您的Web API,您的用户需要点击https://www.dm.com,没有默认为443的端口号。要访问您的网络客户端,您的用户需要点击https://www.dm.com:8080。如果您希望用户对web api和Web客户端使用默认端口443,则需要创建两个云服务而不是一个,然后在一个云服务上创建web api,在另一个云服务上创建Web客户端。结算明智,您将收取与一个云服务相同的费用。

您是否有任何理由想要制作2个不同的域,并依次制作2个SSL证书?如果是这样,它仍然是可能的。根据您的要求,您可能必须添加额外的逻辑来阻止来自其他域的请求。