MQTT TLS на порт 8883 и открытое соединение в 1883 году - PullRequest
0 голосов
/ 26 июня 2018

Я хочу настроить брокера, который может принимать «открытые / публичные» и «частные» соединения с использованием TLS.Для этого я настроил сервер на прием соединений TLS, но тот, кто прослушивает порт 1883 (который открыт), получает темы, отправленные около 8883 (на основе TLS).Как решить эту проблему?

Мой файл конфигурации (находится по адресу /etc/mosquitto/conf.d/mosquitto.conf):

port 1883

# MQTT over TLS/SSL
listener 8883
cafile /etc/mosquitto/ca_certificates/ca.crt
certfile /etc/mosquitto/certs/server.crt
keyfile /etc/mosquitto/certs/server.key
tls_version tlsv1
# End of MQTT over TLS/SLL configuration


listener 9001
protocol websockets

# WebSockets over TLS/SSL
listener 9883
protocol websockets
cafile /etc/mosquitto/ca_certificates/ca.crt
certfile /etc/mosquitto/certs/server.crt
keyfile /etc/mosquitto/certs/server.key

1 Ответ

0 голосов
/ 27 июня 2018

Это работает, как задумано.

Добавление слушателей не создает отдельных разделов.Если вы хотите ограничить ни одного прослушивателя TLS, вы можете добавить IP-адрес в настройку.Вы также можете использовать опцию bind_address to, чтобы изменить прослушиватель по умолчанию

, например, чтобы ограничить открытый слушатель только localhost, вы можете сделать это:

port 1883
bind_address 127.0.0.1

# MQTT over TLS/SSL
listener 8883 0.0.0.0
cafile /etc/mosquitto/ca_certificates/ca.crt
certfile /etc/mosquitto/certs/server.crt
keyfile /etc/mosquitto/certs/server.key
tls_version tlsv1
# End of MQTT over TLS/SLL configuration


listener 9001 127.0.0.1
protocol websockets

# WebSockets over TLS/SSL
listener 9883 0.0.0.0
protocol websockets
cafile /etc/mosquitto/ca_certificates/ca.crt
certfile /etc/mosquitto/certs/server.crt
keyfile /etc/mosquitto/certs/server.key
...