如何解决RabbitMQ SSL 配置:DotNet 客户端
我正在尝试将(dotnet 客户端)连接到 RabbitMQ。我从 RabbitMQ 配置文件中启用了 Peer 验证选项。
_factory = new ConnectionFactory
{
HostName = Endpoint,UserName = Username,Password = Password,Port = 5671,VirtualHost = "/",AutomaticRecoveryEnabled = true
};
sslOption = new SslOption
{
Version = SslProtocols.Tls12,Enabled = true,AcceptablePolicyErrors = System.Net.Security.SslPolicyErrors.RemoteCertificateChainErrors
| System.Net.Security.SslPolicyErrors.RemoteCertificateNameMismatch,ServerName = "",// ?
Certs = X509CertCollection
}
以下是我通过“X509CertCollection”传递的客户认证详细信息。
CertSubject: CN=myhostname,O=MyOrganizationName,C=US // myhostname 是我的客户端主机的名称。
因此,如果我将“myhostname”值传递给 sslOption.ServerName,它会起作用。如果我传递一些垃圾值,它仍然有效。
根据 RabbitMQ 的文档,这两个值应该匹配,即 certCN 值和 serverName。此处 sslOption.ServerName 的值是多少?为什么?
解决方法
我的坏。我找到了原因。发布,因为它可能会帮助某人。 原因:因为我设置了一个策略“System.Net.Security.SslPolicyErrors.RemoteCertificateNameMismatch”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。