Silverlight 一个云服务,两个网站-确保两者之间的通信安全

Silverlight 一个云服务,两个网站-确保两者之间的通信安全,silverlight,azure,ssl,https,azure-web-roles,Silverlight,Azure,Ssl,Https,Azure Web Roles,问题:如何在一个Azure云服务部署中使用HTTPS在两个网站之间进行通信 详情: 我设计了一个Azure云服务部署(一个“subdomain.cloudapp.net”),通过使用不同的端口在部署中运行两个独立的网站 站点1是我所称的服务站点,它是一个标准的ASP.NET站点,承载一系列WCF服务,没有HTML或ASPX页面(重定向到站点2的default.ASPX页面除外)。站点1正在端口80上运行 站点2是我的主站点,它承载一个Silverlight应用程序,该应用程序使用站点1的服务访问

问题:如何在一个Azure云服务部署中使用HTTPS在两个网站之间进行通信

详情:

我设计了一个Azure云服务部署(一个“subdomain.cloudapp.net”),通过使用不同的端口在部署中运行两个独立的网站

站点1是我所称的服务站点,它是一个标准的ASP.NET站点,承载一系列WCF服务,没有HTML或ASPX页面(重定向到站点2的default.ASPX页面除外)。站点1正在端口80上运行

站点2是我的主站点,它承载一个Silverlight应用程序,该应用程序使用站点1的服务访问数据库并处理结果。它只能通过HTTPS访问,并使用端口443

这两个站点都是在VisualStudioAzure解决方案中定义的,该解决方案具有两个端点,每个端口一个。此外,每个端点通过Azure项目中的ServiceDefinition.csdef配置文件与VS解决方案内部的两个网站项目相关联

我已经购买了我的安全证书,并通过域名重定向和DNS上的CName映射,将其与我在站点2上使用的域名关联

使用映射域名和加密连接通过HTTPS访问站点2效果良好。但是,当我尝试从站点2到站点1进行内部服务调用时,我会从HTTPS连接到HTTP连接,因为我在站点1没有SSL证书。因此,当站点2对站点1进行服务调用时,它会尝试为clientaccesspolicy.xml提供服务。这会导致Internet Explorer显示“混合内容”消息(因为HTTPS/HTTP混合)。底线是我需要摆脱这个弹出提示。我知道它可以在客户端被禁用,但是有超过1000个用户,我不能指望他们能够关闭消息。我需要让消息在服务器端消失

回到问题上来,那么有没有一种方法可以在一个Azure云服务中使用SSL从站点2访问站点1?听起来我需要做的是为站点1分配一个SSL证书。然而,我遇到了两个障碍。首先,我无法将SSL证书分配给wildcard.clouapp.net域名。其次,我无法为Azure云服务分配第二个域名,因为我无法将域名转发到特定端口(请记住,站点2已经在使用域转发)

我可以通过将这两个站点拆分为各自的云服务来完成解决方案,但我宁愿不这样做,因为这会使我的成本翻倍。对于如何通过保护Site1或其他方法来消除这种“混合内容”信息,有什么建议吗