RabbitMQ Web-MQTT WSS ​​закрывает клиентское соединение. Небезопасный WS и другие безопасные протоколы работают - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть развертывание RabbitMQ, которое использует собственные сертификаты для сквозного шифрования. Он использует AMQP и MQTT-over-WSS для подключения нескольких типов клиентов. Клиенты AMQP могут безопасно подключаться, поэтому я знаю, что сертификат настроен хорошо.

Клиенты, использующие WS, идущие на ws://hostname:15675/ws, могут нормально подключаться, но, очевидно, не являются безопасными. Клиенты, пытающиеся подключиться к wss://hostname:15676/ws, закрыли соединение с ними. 15676 - это порт, который вы увидите. Я привязал слушатель web-mqtt ssl, как показано ниже. Я просмотрел справочное руководство RabbitMQ networking и tls и вижу, что порт правильно привязан и может подтвердить, что он открыт и доступен для клиента.

Соответствующий rabbit.conf:

listeners.tcp.default = 5671
listeners.ssl.default = 5671

ssl_options.cacertfile = /path/to/fullchain.pem
ssl_options.certfile = /path/to/cert.pem
ssl_options.keyfile = /path/to/privkey.pem

ssl_options.verify = verify_none
ssl_options.fail_if_no_peer_cert = false

web_mqtt.ssl.port = 15676
web_mqtt.ssl.backlog = 1024
web_mqtt.ssl.cacertfile = /path/to/fullchain.pem
web_mqtt.ssl.certfile = /path/to/cert.pem
web_mqtt.ssl.keyfile = /path/to/privkey.pem

По сути, мне интересно, если у меня неправильная строка подключения (wss://hostname:15675/ws)? Мне нужно от go до /wss? Это проблема, мой клиент - браузер, работающий на localhost - не HTTPS? У меня неправильно настроена конфигурация - я ее пропустил? Если за пределами веб-сайта RabbitMQ есть лучший источник документации / примеров этого плагина, мне также будет интересно.

...