我已经能够使用以下 Settings.xml 文件使其在本地工作。
<Section Name="ReplicatorSecurityConfig">
<Parameter Name="CredentialType" Value="X509" />
<Parameter Name="FindType" Value="FindByThumbprint" />
<Parameter Name="FindValue" Value="InsertLocalhostThumbprintHere" />
<Parameter Name="StoreLocation" Value="LocalMachine" />
<Parameter Name="StoreName" Value="My" />
<Parameter Name="ProtectionLevel" Value="EncryptAndSign" />
<Parameter Name="AllowedCommonNames" Value="localhost" />
</Section>
但是,这在使用证书安全设置的 Azure 中的真实集群中不起作用。这是我修改后的 Settings.xml,我认为它可以工作,但事实并非如此。
<Section Name="ReplicatorSecurityConfig">
<Parameter Name="CredentialType" Value="X509" />
<Parameter Name="FindType" Value="FindByThumbprint" />
<Parameter Name="FindValue" Value="InsertClusterThumbprintHere" />
<Parameter Name="StoreLocation" Value="LocalMachine" />
<Parameter Name="StoreName" Value="My" />
<Parameter Name="ProtectionLevel" Value="EncryptAndSign" />
<Parameter Name="AllowedCommonNames" Value="testapp1.eastus.cloudapp.azure.com" />
</Section>
在 azure 中的真实集群上发生的情况是辅助节点陷入“构建中”状态,并且其角色显示为 IdleSecondary,而不是我习惯的正常 ActiveSecondary。
我应该对AllowedCommonNames 使用什么设置?这到底是在做什么?为什么它不使用 RemoteCommonNames?我以为AllowedCommonNames是deprecated支持 RemoteCommonNames。我已经尝试过了,即使在本地,如果我将AllowedCommonNames修改为RemoteCommonNames,它也会在本地中断我的服务。
感谢任何帮助。
看起来我解决了自己的问题,我修改后的配置对于云来说很好,唯一的区别是我需要登录到集群中虚拟机规模集下的每个虚拟机,并将证书的公钥添加到受信任的根因为这是一个自签名证书。完成此操作后,事情就开始起作用了。
我是一名优秀的程序员,十分优秀!