Я использую ejabberd 17.12. Работает нормально.
С помощью этой конфигурации мне удается открывать незащищенные подключения к веб-сокетам из моего браузера, используя как консоль JS, так и клиент XMPP:
port: 5280
ip: "::"
module: ejabberd_http
request_handlers:
"/ws": ejabberd_http_ws
"/bosh": mod_bosh
"/api": mod_http_api
## "/pub/archive": mod_http_fileserver
web_admin: true
## register: true
captcha: false
Мне нужно, чтобы подключения через защищенные веб-сокеты работали, поэтому я добавил это в приведенная выше конфигурация:
tls: true
certfile: "/opt/ejabberd/conf/server.pem"
Теперь соединения через веб-сокеты больше не работают, даже незащищенные. Когда я пытаюсь открыть его, я все еще вижу это в ejabberd.log
:
[info] <0.4280.0> @ejabberd_listener: accept: 302 (<0.4489.0>) Принятое соединение :: ffff: 127.0.0.1: 58410 -> :: ffff: 127.0.1.1: 5280
I ничего не получить в error.log
. В консоли JS браузера я вижу:
Соединение WebSocket с 'ws: //domain.local: 5280 / ws /' не удалось: соединение закрыто до получения ответа на подтверждение связи
Опять же, моя установка отлично работает для незащищенного веб-сокета подключений, когда я удаляю следующие две строки из ejabberd.yml
:
tls: true
certfile: "/opt/ejabberd/conf/server.pem"
Путь к сертификату правильный, и server.pem
- это тот, который по умолчанию появился при установке ejabberd .
Я не очень уверен, как двигаться дальше. Любые предложения приветствуются.
Pruvate cù wss : //domain.local: 5280 / ws / cunnessione travagliu. Avete ricevutu errore perchè tls: veru in u schedariu di cunfigurazione ejabberd