我试图让Wasabi (企业库自动标度块)在Azure工作者角色中工作。Wasabi工作者角色(额外小,完全信任)正在同一服务中扩展不同的工作人员角色。它在本地控制台应用程序中运行得很好,配置完全相同--考虑到错误,证书没有发送到VM。我正在使用Azure SDK的最新版本、企业库自动标度块和Azure门户。
下面是我根据以下文档所采取的步骤:http://msdn.microsoft.com/en-us/library/hh680937(v=pandp.50).aspx
我尝试了LocalMachine\My存储(配置在角色证书设置中,在服务信息存储区XML中配置),我得到了一个不同的例外-- Azure WASABi SecurityNegotiationException中列出的错误。这一修正最终将转到CurrentUser,所以这对我没有任何帮助。
我尝试了许多其他的CurrentUser\LocalMachine和不同的存储组合,所有的CurrentUser位置都导致证书找不到,而所有的LocalMachine存储都导致了另一个异常。
我三次检查了角色设置、门户(证书页)和服务信息文件中的指纹,它们都匹配。
然后,我启用了远程桌面并登录到Wasabi角色实例,并使用MMC查看本地计算机和当前用户的证书配置。当我在角色证书设置中选择LocalMachine存储时,证书确实显示在LocalMachine存储中,这告诉我证书已正确安装在服务中,并且指纹匹配。选择CurrentUser存储区时,证书在任何地方都不可见。这可能是因为RDP使用的用户与服务不是同一个用户,但它确实与错误匹配。
因此,总括而言:
有什么想法吗?
谢谢!
发布于 2013-02-12 22:54:22
请看我对这个SO POST的回答。证书必须在LocalMachine中,并且由于SDK1.8和Server2012角色初始化中的配置更改,您必须运行具有提升权限的worker角色,才能授予对证书的私钥的网络服务访问权限。编辑ServiceDefinition.csdef
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="blah" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
<WorkerRole name="blah" vmsize="Small">
<Runtime executionContext="elevated" />
...
</WorkerRole>
</ServiceDefinition>https://stackoverflow.com/questions/14842132
复制相似问题