RabbitMq ssl сертификат - PullRequest
       40

RabbitMq ssl сертификат

0 голосов
/ 03 мая 2020

Я новичок в 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);

при запуске кода выше я получил ошибку

Невозможно записать данные в транспортное соединение: существующее соединение было принудительно закрыто удаленным хостом.

Мне нужна помощь, чтобы это работало, спасибо.

...