rabbitmq 如何仅为某些特定的 mqtts 端口设置对等证书验证?

rabbitmq how to set peer certificate verification for some specific mqtts ports only?

这里我将fail_if_no_peer_cert设置为true以启用客户端证书验证。 我有 2 个 MQTTS 端口,分别是 1884 和 2500。我只想启用此对等验证到端口 1884。端口 2500 我想用作一种方式 SSL,fail_if_no_peer_cert 为 false。

rabbitmq.config有没有办法做到这一点?

以下是我的 rabbitmq.config 文件

[
    { 
    rabbit, [
            { loopback_users, [ ] },
            { tcp_listeners, [ 5672 ] },
            { ssl_listeners, [  ] },
            { ssl_options, [{cacertfile,"/home/akila/test/tls-gen/basic/result/ca_certificate.pem"},
            {certfile,"/home/akila/test/tls-gen/basic/result/server_certificate.pem"},
            {keyfile,"/home/akila/test/tls-gen/basic/result/server_key.pem"},
            {versions, ['tlsv1.2', 'tlsv1.1']},
            {verify,verify_peer},
            {fail_if_no_peer_cert,true}]},
            { hipe_compile, false },
            { auth_backends, [rabbit_auth_backend_internal,rabbit_auth_backend_http]}
    ]
    },
    {rabbitmq_management, [ 
            { listener, [
                    { port, 15672 },
                    { ssl, false }
            ] } ] 
    },
    {rabbitmq_mqtt, [
            {ssl_listeners,    [1884,2500]},
            {tcp_listeners,    [1883]}
            ]}

].

目前无法为 MQTT 插件指定每个端口的 TLS 设置 -

https://groups.google.com/d/msg/rabbitmq-users/a7PKyo3tRHc/s-KiaBgSBAAJ


注意: RabbitMQ 团队监控 rabbitmq-users mailing list 并且有时只在 Whosebug 上回答问题。