Estoy desarrollando un servidor websocket (llamémoslo WS), que es totalmente independiente de otro servidor HTTPS que también estoy desarrollando (llamémoslo Main).
WS en sí funciona bien y también tengo una herramienta de prueba de línea de comandos que está escrita en Node.JS que puede comunicarse con WS a través de mensajes websocket.
Main también funciona bien y puedo abrir páginas web con navegadores a través de HTTPS sin ningún problema.
Aquí está el problema:
Dado que las pruebas de la línea de comandos no son fáciles de usar para los ingenieros que no están familiarizados con las líneas de comandos, quiero crear una "Herramienta de prueba de la página web del navegador" en Main para enviar mensajes a WS y recibir una respuesta.
Básicamente usé códigos de aquí: https://blog.teamtreehouse.com/an-introduction-to-websockets#:~:text=To%20send%20a%20message%20through,binary%20data%20through%20a%20WebSocket .
Sin embargo, en esta línea
// Create a new WebSocket. var socket = new WebSocket('ws://Ws-address');El navegador me dice "La página en 'https://MainUrl/testing-tool' se cargó a través de HTTPS, pero intentó conectarse al extremo inseguro de WebSocket 'ws://Ws-address/'. Esta solicitud se bloqueó; este extremo debe estar disponible a través de WSS".
Sin embargo, el servidor WS es una aplicación en tiempo real y no está diseñado para funcionar sobre wss, sino que, como requisito, debe optimizarse la velocidad tanto como sea posible y se debe sacrificar todo lo demás.
Por lo tanto, WS usará ws simple en lugar de wss, que tiene un protocolo de enlace tls adicional.
¿Hay alguna manera de hacer que mi "Herramienta de prueba" funcione?