Ho creato una websocket PHP utilizzando Ratchet. Questo Websocket è in esecuzione sulla porta 8080
del mio server interno 10.0.4.160
.Impossibile connettersi a una presa Web
Sto provando a collegarmi ad esso da un sito Web che ha abilitato SSL "alias protocollo https".
Quando si tenta di connettersi alla websocket da un browser FireFox, ottengo problemi di sicurezza dal browser perché sto mixando tra connessione protetta/non protetta. Questo è l'errore che vedo nella console di javascript.
SecurityError: The operation is insecure.
per risolvere il problema di sicurezza ho creato un proxy stunnel che mi permette di accettare la connessione su 10.0.4.160:58443
e collegarla alla porta 127.0.0.1:8080
. Questo tunnel sicuro dovrebbe consentirmi di mantenere la connessione al websocket protetta e bypassare il controllo di sicurezza del browser.
Tuttavia, ogni volta che tentano di connettersi al websocket ottengo un errore
WebSocket connection to 'wss://10.0.4.160:58443/' failed: Error in connection establishment: net::ERR_TIMED_OUT
Questo è lo script jQuery che viene utilizzato per la connessione al websocket
<script>
$(function(){
if ("WebSocket" in window)
{
var conn = new WebSocket('wss://10.0.4.160:58443');
conn.onopen = function(e) {
console.log("Connection established!");
showMessage('Connected', 0);
};
conn.onmessage = function(e) {
console.log(e.data);
showMessage(e.data, 1);
};
conn.onclose = function(e) {
console.log(e.code);
console.log(e.reason);
};
conn.onerror = function(e) {
console.log(e);
};
} else {
console.log('Your browser does not support Websocket!');
}
function showMessage(msg, append){
if(append){
$('#status').append('<br>' + msg);
return;
}
$('#status').text(msg);
}
});
</script>
Qui è il mio attuale configurazione stunnel
[websockets]
client = yes
accept = 58443
connect = 8080
verify = 2
CAfile = ca-certs.pem
debug = 7
OCSPaia = yes
Come posso collegarmi al websocket dal mio browser? Grazie
Giù votato finché non vediamo il server PHP impostato con cricchetto –