Я новичок в RabbitMq. Я настроил RabbitMq поверх ssl следующим образом:
[
{rabbit, [
{ssl_listeners, [5671]},
{ssl_options, [{cacertfile,"/E:/Work/Certificates/ProductionGateway/RFIDs/ca-cert.pem"},
{certfile,"/E:/Work/Certificates/ProductionGateway/RFIDs/server-cert.pem"},
{keyfile,"/E:/Work/Certificates/ProductionGateway/RFIDs/server-key.pem"},
{verify, verify_peer},
{fail_if_no_peer_cert, true}
]}
]}
].
и служебный код на стороне сервера следующим образом:
oConnectionFactory = new ConnectionFactory() { HostName = ConsumerSettings.HostName, UserName = ConsumerSettings.UserName, Password = ConsumerSettings.Password, Port = ConsumerSettings.Port };
oConnectionFactory.Ssl.Enabled = true;
oConnectionFactory.Ssl.ServerName = System.Net.Dns.GetHostName();
oConnectionFactory.Ssl.CertPath = "E:/Work/Certificates/ProductionGateway/RFIDs/server-cert.pem";
oConnectionFactory.Ssl.CertPassphrase = "jspalding";
oConnection = oConnectionFactory.CreateConnection();
oChannel = oConnection.CreateModel();
oChannel.QueueDeclare(queue: "RFID_Tags", durable: true, exclusive: false, autoDelete: false, arguments: null);
oBasicConsumer = new EventingBasicConsumer(oChannel);
oBasicConsumer.Received += (model, ea) =>
{
Task tagwriter = RFIDData.WriteFileAsync(ea.Body.ToArray(), ConsumerSettings.RFIDFilePath, ConsumerSettings.RFIDFileName);
};
oChannel.BasicConsume(queue: "RFID_Tags", autoAck: true, consumer: oBasicConsumer);
при запуске кода выше я получил ошибку
Невозможно записать данные в транспортное соединение: существующее соединение было принудительно закрыто удаленным хостом.
Мне нужна помощь, чтобы это работало, спасибо.