Nejde mi spojení WebSocket – ipublikuj/websockets

pista5
Člen | 72
+
0
-

Zdravim,
mam nasledujici problem a nevim co s nim? Poradi mi prosim nekdo?
Na localhostu mi to fungovalo, ale na ostrem ne…

Configurace


webSockets:
    storage:
        clients:
            driver: @clients.driver.memory
            ttl: 0
    server:
        httpHost: localhost
        port: 8080
        address: 0.0.0.0
        secured:
            enable: true
            sslSettings:
                local_cert : '/etc/letsencrypt/live/cert.pem'
                local_pk : '/etc/letsencrypt/live/privkey.pem'
                allow_self_signed : true
                verify_peer : false
    mapping:
        *: App\Controllers\*Controller

webSocketsZMQ:
        host: '127.0.0.1'
        port: 5555
        persistent: true
        protocol: 'tcp'

Provedu

var webSocket = IPub.WebSockets.WAMP.initialize('wss://37.235.XXX.XXX:8080');

webSocket.on('socket/connect', function(session){
    console.log('Successfully Connected!');
});

webSocket.on('socket/disconnect', function(error){
    console.log('Disconnected for ' + error.reason + ' with code ' + error.code);
})

na serveru vidim, ze spojeni probehlo uspesne:

INFO: ZMQ transport listening on 127.0.0.1:5555
DEBUG: Starting IPub\WebSockets
DEBUG: Launching WebSockets WS Server on: 0.0.0.0:8080
DEBUG: INSERT CLIENT 179
DEBUG: GET CLIENT 179

ale prohlizec mi po par vterinach ohlasi:

Firefox nemůže navázat spojení se serverem wss://37.235.XXX.XXX:8080/. autobahn.js:1293:23
Disconnected for Connection could not be established. with code 3

Nasmeruje me nekdo prosim, kde hledat problem? Diky moc.

Editoval pista5 (30. 11. 2023 10:08)

pista5
Člen | 72
+
0
-

Tak jsem jeste pridal do Javasciptu logovani, co se vraci a vidim, ze „session: false“
Na localu session dostanu.

var webSocket = IPub.WebSockets.WAMP.initialize('wss://37.235.XXX.XXX:8080');
console.log(webSocket);
Object { uri: "wss://37.235.XXX.XXX:8080", session: false, options: {}, events: {…} }
​
events: Object { listeners: {…} }
​
options: Object {  }
​
session: false
​
uri: "wss://37.235.XXX.XXX:8080"
​
<prototype>: Object { connect: connect(), on: on(type, listener), off: off(type, listener) }
kminekmatej
Generous Backer | 38
+
0
-

A máš na produkci otevřený a dostupný ten port 8080? Websocket spojení se velice často dělá na portu 80 (případně 443) – a následně se proxuje na samotný websocket server – 8080 bývá často pouze pro localhost potřeby.

pista5
Člen | 72
+
0
-

kminekmatej napsal(a):

A máš na produkci otevřený a dostupný ten port 8080? Websocket spojení se velice často dělá na portu 80 (případně 443) – a následně se proxuje na samotný websocket server – 8080 bývá často pouze pro localhost potřeby.

Jasne, mam… jak jsem psal, na serveru vidim, ze spojeni probehlo… po spusteni Javascriptu na serveru ihned naskoci

DEBUG: INSERT CLIENT 179
DEBUG: GET CLIENT 179