- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们正在尝试制作一个 PoC,表明用不同语言编写的应用程序可以在一个组织中通过 RabbitMQ 代理进行通信。我们运行 vanilla RabbitMQ docker image rabbitmq:3.6.1-management 和执行 SSL 的 vanilla haproxy docker image haproxy:1.6.5:
frontend amqp_front
bind *:5672 tcp-ut 5s
mode tcp
timeout client 60s
timeout client-fin 1s
no option clitcpka
default_backend amqp_back
frontend amqp_front_ssl
bind *:5671 tcp-ut 5s ssl crt /etc/certs/haproxy/rmq.pem ca-file /etc/certs/haproxy/root.crt verify required
mode tcp
timeout client 60s
timeout client-fin 1s
no option clitcpka
acl client ssl_c_s_dn(CN) -m str cli
tcp-request content reject if !client
default_backend amqp_back
RabbitMQ 配置为:
[
{rabbit,
[
{ tcp_listeners, [ 5672 ] },
{ ssl_listeners, [ ] },
{default_pass, <<"pwd">>},
{default_user, <<"usr">>},
{default_vhost, <<"default">>},
{loopback_users, []}
]
},
{ rabbitmq_management, [
{ listener, [
{ port, 15672 },
{ ssl, false }
]
}
]
}
].
我们在 Go 和 Node.js 中编写了一段简单的代码,它们都加载 root.crt、cli.crt 和 cli.key 并成功连接到 SSL 端口5671 并消费。
尽管尝试使用 RabbitMQ.Client.dll(版本 3.6.0、3.6.1、3.6.2)在 .Net 中编写相同的简单代码,但失败了:
X509Store store = new X509Store (StoreName.Root, StoreLocation.LocalMachine);
store.Open (OpenFlags.ReadOnly);
var factory = new ConnectionFactory ();
factory.Ssl.Enabled = true;
factory.Ssl.ServerName = "rmq";
factory.Ssl.Certs = store.Certificates;
factory.Ssl.CertPassphrase = "";
factory.HostName = "localhost";
factory.Port = 5671;
factory.UserName = "usr";
factory.Password = "pwd";
factory.VirtualHost = "default";
var conn = factory.CreateConnection ()
发生的事情是 .Net 客户端忽略端口 5671 而忽略上面的设置,它只是转到 5672。如果 5672 打开 - 连接到它,如果 5672 关闭 - 失败并拒绝连接。
Go 和 Node.js 中的代码证明我的 SSL 设置是有效的。.Net 客户端的错误显示 SSL 东西甚至没有机会跳入。
我在使用 debian jessie & Mono。
我是否遗漏了一些明显的东西?
最佳答案
这是 RabbitMQ .net 客户端 3.6.2 库在使用 SSL 时不遵守指定端口的问题。
它已被修复,将在 3.6.3 发布时可用(他们与服务器同步发布,所以不知道什么时候可以发布)。
您的选择是:-
关于.net - RabbitMQ DotNet 客户端不连接到 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37488107/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!