Как я могу подключить свое Reactjs Web App к защищенному брокеру MQTT? - PullRequest
0 голосов
/ 19 июня 2019

У меня есть веб-приложениеactjs, которое необходимо подключить к защищенному брокеру mqtt.

Веб-приложение развернуто в AWS Elan Beanstalk и использует HTTPS.У меня уже есть защищенный брокер MQTT, но при попытке подключить мое веб-приложение к брокеру mqtt у меня появляется эта ошибка:

Ошибка при установлении соединения: net :: ERR_CERT_AUTHORITY_INVALID

Я использую пакет MQTTjs.У меня уже есть сертификат как для сервера, так и для стороны клиента.

Вот мой код:

var client = mqtt.connect('wss://[ipaddress]:8884');

Я также попробовал этот код:

var mqtt = require('mqtt');
var fs = require('fs');
var path = require('path');


var CERT = fs.readFileSync(path.join(__dirname, './ca.crt'));
var KEY = fs.readFileSync(path.join(__dirname, './ca.key'));


var options = {
    rejectUnauthorized: true,
    port: 8884,
    host: ipaddress,
    protocol: 'mqtts',
    ca: CERT,
    keyPath: KEY,
    certPath: CERT
}

Но ошибка для этогокод:

Uncaught TypeError: fs.readFileSync не является функцией

1 Ответ

0 голосов
/ 19 июня 2019

Вы не можете загрузить сертификаты с диска в браузере.Таким образом, вторая версия кода просто не будет работать.

Вам необходимо добавить как сертификат CA, так и сертификат клиента в хранилище сертификатов вашего браузера.

Затем браузер должен использовать сертификат CAдля проверки брокера, а затем следует выбрать правильный сертификат клиента для представления брокеру в качестве идентификатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...