我一直在尝试为我的rabbitMQ应用程序build立一个ssl支持,我已经按照rabbitmq文档链接在我的.net应用程序中包含了ssl支持,我已经能够成功地为sslauthentication创build证书并创build了一个configuration文件对于兔子,并将其放置在rabbitMQ文件夹内的appdata文件夹中,用于configuration文件的代码:
[ {rabbit,[ {ssl_Listeners,[5671]},{ssl_options,[{cacertfile,"C:testcacacert.cer"},{certfile,"C:servercert.pem"},{keyfile,"C:serverkey.pem"},{verify,verify_peer},{fail_if_no_peer_cert,false}]} ]} ]
我已经为发布者修改了rabbitMQ的c#代码:
ConnectionFactory factory = new ConnectionFactory(); factory.Ssl.Servername = System.Net.Dns.GetHostname(); factory.Ssl.CertPath = "C:\server\keycert.p12"; factory.Ssl.CertPassphrase = "password"; factory.Ssl.Enabled = true;
但出现错误:brokerUnreachableException被取消。
任何提示或帮助? 我错过了什么让我知道的事情?
使用BinaryReader读取大文件(> 1 GB)时,最佳缓冲区大小是多less?
为什么在windows中find打印机状态非常困难?
注册热键
我怎样才能让Powershell TabExpansion打印所有可能的完成?
.Net混淆器
我正在使用RabbitMQ:2.51。 Erlang:R14B01 *** 作系统:windows和在.net客户端上。
堆栈跟踪:
Exception Message: None of the specifIEd endpoints were reachable Source: RabbitMQ.ClIEnt Stacktrace: at RabbitMQ.ClIEnt.ConnectionFactory.CreateConnection(Int32 maxRedirects) at RabbitMQ.ClIEnt.ConnectionFactory.CreateConnection() at RabbitProducer.Program.Main(String[] args) in C:Userspc 1documentsVisual Studio 2008ProjectsRabbitProducerRabbitProducerProgram.cs:line 36
经纪人日志:
=INFO REPORT==== 9-Aug-2011::11:39:05 === limiting to approx 924 file handles (829 sockets) =INFO REPORT==== 9-Aug-2011::11:39:05 === Memory limit set to 804MB. =INFO REPORT==== 9-Aug-2011::11:39:05 === msg_store_transIEnt: using rabbit_msg_store_ets_index to provIDe index =INFO REPORT==== 9-Aug-2011::11:39:05 === msg_store_persistent: using rabbit_msg_store_ets_index to provIDe index =INFO REPORT==== 9-Aug-2011::11:39:05 === started TCP Listener on [::]:5672 =INFO REPORT==== 9-Aug-2011::11:39:05 === started TCP Listener on 0.0.0.0:5672
对于windows窗体,PostMessage等于自己的什么?
令人难以置信的奇怪的文件创build时间问题
简单的C#应用程序无法正常工作,在Visual Studio中运行时工作正常
如何处理NotifyIcon,发生超时(C#)后
替代.NET的客户端
brokerUnreachableException在客户端无法连接到代理时发生。 发生这种情况的原因很多:代理未运行,windows防火墙阻止端口5671,证书在连接的任一侧都没有正确安装。
调试:
这位经纪人在5671上聆听吗? 检查日志文件中提到的ssl监听器。 它应该看起来像:
= INFO REPORT ==== 2011年8月8日:: 11:51:47 ===
在0.0.0.0:5671上启动了SSL侦听器
如果该条目不在日志文件中,请尝试通过Program filesRabbitMQ serverrabbitmq-server-xxxsbin的rabbitmq-server.bat脚本运行rabbitmq,并检查“config file:…”条目旗下设置为你的配置文件。 (none)意味着代理无法找到文件。
一旦知道正在读取配置文件,请确保您具有RabbitMQ SSL指南中详细介绍的正确设置。
客户端连接在一起吗? (现在忽略SSL)以下是SSL连接失败的情况:
=信息报告==== 2011年8月8日:: 11:54:54 ===
接受来自127.0.0.1:52110的0.0.0.0:5671上的TCP连接
=信息报告==== 2011年8月8日:: 11:54:54 ===
从127.0.0.1:52110开始TCP连接<0.477.0>
…
=错误报告==== 2011年8月8日:: 11:54:55 ===
TCP连接错误<0.477.0>:{ssl_upgrade_error,“意外消息”}
=信息报告==== 2011年8月8日:: 11:54:55 ===
关闭TCP连接<0.477.0>
如果这不在日志中,那么这是一个防火墙问题。
这是windows XP吗? 如果是这样,祝你好运,我们已经遇到了运行SSL的问题。 在很多情况下,微软的错误.NET实现将阻止你从文件加载证书。
如果是其他内容,请同时发布完整的 .NET堆栈跟踪,相关的代理日志条目(“启动TCP连接”和“关闭TCP连接”之间的所有内容)和配置文件。
如果没有其他的工作,请尝试RabbitMQ商讨邮件列表。 开发人员回答所有问题。
总结以上是内存溢出为你收集整理的SSL支持Rabbit + .Net + Windows全部内容,希望文章能够帮你解决SSL支持Rabbit + .Net + Windows所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)