我一直在努力弄清楚我是如何配置MassTransit以及我们新的专用cloudamqp实例来使用SSL(注意:一切都在没有SSL的情况下工作)。
我尝试在下面的代码中添加UseSsl行,我在一些旧文档中找到了,但这不起作用:
var bus = Bus.Factory.CreateUsingRabbitMq(sbc =>
{
var host = sbc.Host(new Uri(messageBusConfiguration["Host"]), h =>
{
h.Username(messageBusConfiguration["Username"]);
h.Password(messageBusConfiguration["Password"]);
h.UseSsl(s => {});
});
});
在cloudamqp中,我将其设置为允许ampqs,我的服务/ API使用HTTP设置并在IIS中运行,没有任何问题。
我怀疑我遗漏了一些基本的东西,但我找不到任何文件。
这对我有用,请注意必须指定端口。
var busControl = Bus.Factory.CreateUsingRabbitMq(x =>
{
var host = x.Host(new Uri("rabbitmq://wombat.rmq.cloudamqp.com:5671/your_vhost/"), h =>
{
h.Username("your_username");
h.Password("your_password");
h.UseSsl(s =>
{
s.Protocol = SslProtocols.Tls12;
});
});
x.ReceiveEndpoint(host, "input_queue", e =>
{
});
});
await busControl.StartAsync(new CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
await busControl.StopAsync();