Vogliamo utilizzare RabbitMQ su TLS per la nostra messaggistica mqtt, quindi abbiamo eseguito alcuni test e siamo riusciti a farlo funzionare sulla porta 8883 utilizzando  questa guida alla configurazione  e dobbiamo collegarci su un URL che inizia con l'identificativo del protocollo   mqtts://   . 
La nostra configurazione sembra più o meno così:
[{rabbit,        [
                  {ssl_options, [{cacertfile, "/path/to/tls/ca/cacert.pem"},
                                 {certfile,   "/path/to/tls/server/cert.pem"},
                                 {keyfile,    "/path/to/tls/server/key.pem"},
                                 {verify,     verify_peer},
                                 {fail_if_no_peer_cert, true}]}
                 ]},
 {rabbitmq_mqtt, [
                  {ssl_listeners,    [8883]}
                  {tcp_listeners,    []}
                  ]}
].
 Abbiamo disattivato   tcp_listeners completely    passando un array vuoto (altrimenti il valore predefinito sarà un array come   [1883]    (con la porta predefinita 1883) e quindi la connessione non sicura direttamente oltre   tcp    sarà ancora possibile (leggi anche  questa risposta su stackoverflow  per maggiori dettagli). 
Ora mi sono imbattuto in il seguente documento su mqtts (mqtt-s) sostenendo che mqtts non significa mqtt sicuro, ma che in realtà sta per reti sensoriali MQTT :
Some people had assumed that the S in MQTT-S stood for secure, so we hope this change will avoid that confusion.
Ora ho provato a leggere di più su questo argomento, ma più leggo e più confuso diventa. Alcuni documenti rivendicare mqtt su tls dovrebbero essere fatti semplicemente indirizzando un'altra porta e questo sarà dare "secure-mqtt":
Port 8883 is standardized for a secured MQTT connection. The standardized name at IANA is “secure-mqtt” and port 8883 is exclusively reserved for MQTT over TLS.*
  Altri documenti  affermano che possiamo connetterci utilizzando diversi protocolli tra cui   tls://   : 
The URL can be on the following protocols: 'mqtt', 'mqtts', 'tcp', 'tls', 'ws', 'wss'. The URL can also be an object as returned by URL.parse(), in that case the two objects are merged, i.e. you can pass a single object with both the URL and the connect options.
Le mie domande:
-  Qual è il modo migliore di connettere un client MQTT a un broker se si desidera forzare questo client a utilizzare MQTT su TLS? 
 -  È vero che   
mqtts://non significa MQTT sicuro (MQTT su SSL / TLS)? O significa questo solo nel caso in cui usiamo RabbitMQ come nostro broker MQTT? Oppure questo documento è obsoleto ed èmqttsun identificatore totalmente valido per connettersi in modo sicuro al protocollomqtt(comehttpdiventahttpsper il protocollo http ewsdiventawssper il protocollo web socket ). 
  Abbiamo provato a connetterci al nostro broker RabbitMQ usando   mqtt://    sulla porta 8883, ma questo non funziona. 
Sembra che l'unico modo per stabilire una connessione sicura con il nostro broker sembra essere utilizzando l'identificatore   mqtts://   .  
- Questa configurazione di RabbitMQ ci garantisce che i client possono connettersi solo tramite una connessione protetta (crittografata)?
 
UPDATE
 Alcuni test mostrano che il servizio MQTT funziona bene anche quando si indirizza la porta 8883 mentre si utilizza l'identificatore   tls://    nelle nostre richieste.