Веб-сокеты Mosquitto ERR_CONNECTION_REFUSED letsencrypt - PullRequest
0 голосов
/ 02 августа 2020

У меня есть VPS с брокером mosquitto и веб-страница, размещенная внутри. Веб-страница работает через https с помощью веб-сокетов, мы купили хост .com, чтобы иметь возможность получить сертификат letsencrypt. Вначале я попытался использовать сертификат www.sslforfree.com, указывающий непосредственно на myweb.ovh. net и веб-страницу, подключенную к этому URL-адресу.

В этом случае все работало идеально, но мне нужен сертификат, который мог бы храниться долго, и letsencrypt I вещь, которая может быть решением. Я создал сертификат letsencrypt, указывающий на web.com, и поместил эти сертификаты в свой mosquitto.conf таким образом

listener 9001
protocol websockets

certfile /etc/letsencrypt/live/web.com/cert.pem
cafile /etc/letsencrypt/live/web.com/chain.pem
keyfile /etc/letsencrypt/live/web.com/privkey.pem

allow_anonymous false

Когда я пытаюсь запустить мой mosquitto, у меня нет ответа на стороне сервера , нет сообщения в консоли, и я получаю сообщение об ошибке в веб-консоли «ERR_CONNECTION_REFUSED», кажется, что сертификат не загружается на сервер правильно или, возможно, сертификат не в порядке.

С сертификатом от sslforfree все работало нормально. Может быть проблема с правами доступа к файлам? Я полностью потерялся с этой проблемой, также я не знаю, как узнать, правильно ли загружается сертификат на моем сервере.

Мой журнал mosquitto:

1596462903: Config loaded from mosquitto2.conf.
1596462903: Opening ipv4 listen socket on port 8884.
1596462903: Opening ipv6 listen socket on port 8884.
1596462903: Opening websockets listen socket on port 9001.
1596462924: New connection from 88.9.162.109 on port 8884.
1596462924: New client connected from 88.9.162.109 as crfEquipo40 (c1, k60, u'crfEquipo40').

1596462924: Sending CONNACK to crfEquipo40 (0, 0)
1596462924: Received SUBSCRIBE from crfEquipo40
1596462924:     opi40/cmd/teclado (QoS 0)
1596462924: crfEquipo40 0 opi40/cmd/teclado
1596462924: Sending SUBACK to crfEquipo40
1596462925: Received SUBSCRIBE from crfEquipo40
1596462925:     opi40/evt/hora (QoS 0)
1596462925: crfEquipo40 0 opi40/evt/hora
1596462925: Sending SUBACK to crfEquipo40
1596462925: Received SUBSCRIBE from crfEquipo40
1596463066: mosquitto version 1.4.15 terminating

Как видите порт 9001 работает, но ничего не происходит, я попробовал то же самое с сертификатом sslforfree, соединение было в порядке, сообщения получены через порт 9001, но с сертификатом letsencrypt нет ответа.

В моем javascript консольном клиенте Я получаю следующий введите описание изображения здесь

, а также этот в панели безопасности chrome введите описание изображения здесь

1 Ответ

1 голос
/ 02 августа 2020

Используйте /etc/letsencrypt/live/web.com/fullchain.pem вместо /etc/letsencrypt/live/web.com/chain.pem

...