Библиотека веб-сокетов C ++ (libwebsockets) не может подключиться к серверу веб-сокетов SSL

У нас есть сервер веб-сокетов, который слушает порт 7000 за NGINX. Сервер Websocket фактически прослушивает незащищенные веб-сокеты:

if __name__ == '__main__':

import sys

from twisted.python import log
from twisted.internet import reactor

log.startLogging(sys.stdout)

factory = WebSocketServerFactory(u"ws://127.0.0.1:7000")
factory.protocol = MyServerProtocol
# factory.setProtocolOptions(maxConnections=2)

# note to self: if using putChild, the child must be bytes...

reactor.listenTCP(7000, factory)
reactor.run()

NGINX перенаправляет входящие wss подключения к ws локальный. У нас есть клиенты Python и Javascript, которые успешно подключаются к этой настройке сети и взаимодействуют с сервером Websocket. Однако нам не повезло с клиентом C ++. Это линия связи:

ws->init("wss://echo.websocket.org:7000", nullptr, "your CA root file path");

Мы кормим CA, который использует сервер. Мы используем Cocos2d::network::WebSocket который использует libwebsockets (https://libwebsockets.org/lws-api-doc-master/html/index.html). Когда мы используем вышеприведенную строку, сервер жалуется так:

2018-04-27 11:27:44+0000 [-] failing WebSocket opening handshake ('missing port in HTTP Host header 'url-address.com' and server runs on non-standard port 7000 (wss = False)')

Мы попытались связываться с другими параметрами, которые предоставляет libwebsockets (например, отключить проверку CERT), но это не сработало. Большинство попыток не привело ни к какому соединению.

Есть ли правильный способ отладки этого? Ошибки в клиенте говорят не более, чем «сбой соединения».
Следует отметить, что этот клиент успешно подключается к wss://echoserver.org

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]