【发布时间】:2017-01-05 20:39:09
【问题描述】:
我创建了一个 Service Fabric 应用程序,当前由两个 Reliable Services 和一个 Reliable Actor 组成。为了开发,我在 Azure 中创建了一个 SQL Server 和数据库,并将连接字符串硬编码到我在本地 SF 集群上运行的应用程序中。这很好用,我能够在本地运行我的应用程序,同时在云中操作数据库。
我现在想将我的服务发布到云端,并远程运行它(这样我就可以设置和测试 Web API 是否公开),这就是问题的开始。
遵循 Azure 文档:
- Create a Service Fabric cluster in Azure using Azure Resource Manager
- Connect to a secure cluster
- Configure secure connections to a Service Fabric cluster from Visual Studio
- Service Fabric cluster security scenarios
- Publish an application to a remote cluster by using Visual Studio
- Add or remove certificates for a Service Fabric cluster in Azure
我已采取以下步骤:
使用 Powershell(带有
ServiceFabricRPHelperscmdlet)创建 KeyVault 资源组,并在其中创建KeyVault。使用
New-SelfSignedCertificate并将 -DnsName 设置为 api.mydomain.co.uk,我已经购买并为 api 创建了一条 CNAME 记录,指向 mycluster.northeurope.cloudapp.azure.com:19000(尽管当然在这个过程的这个阶段它不存在),然后Export-PfxCertificate创建.pfx文件。然后将.pfx导入到cert:\CurrentUser\TrustedPeople和cert:\CurrentUser\My。调用
Invoke-AddCertToKeyVault将新生成的证书添加到我的KeyVault。使用
SetupApplications.ps1脚本配置AAD。将所有生成的字符串等放入
azuredeploy.json和azuredeploy.parameters.json,解决了错误(其中一些似乎与文档相矛盾..),并成功部署了集群。它现在在我的 Azure 门户上可见。从经典门户分配的用户角色(管理员给我自己)。
使用
Invoke-AddCertToKeyVault(这次创建并)向集群添加第二个“管理员客户端”证书(而不是第一个是集群证书)。
所以,所有都完成了,我相信我应该已经完成了我需要做的所有事情,以便能够连接到集群以通过 VS2015 发布,并从 @ 访问管理界面987654351@。唉,这不会发生......
连接到资源组中的数据库 我的集群仍然可以通过 SQL Server Explorer 使用 SQL 身份验证从 VS 工作,但是,any 尝试使用基于 AAD 或 X509 的身份验证结果与服务器本身进行通信等待它尝试连接,然后失败。几个例子:
尝试连接到管理控制台时说它已被阻止,这对我来说意味着它在那里,但所有文档在告诉我如何访问它之前就结束了。
尝试使用Connect-ServiceFabricCluster 连接也失败了,搜索错误消息并没有给我任何指示。
在花了两天时间吸收所有这些并试图让它发挥作用之后,我对尝试和改变什么一无所知。任何人都可以在我所做的事情中发现问题,或者提出我可以尝试的任何建议吗? 如果您需要我提供更多详细信息,请尽管询问!
【问题讨论】:
标签: powershell azure visual-studio-2015 certificate azure-service-fabric