es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿La conexión Websocket falla en localhost debido a la Política de Seguridad de Contenido?

Entonces, estoy usando el paquete ws para mi backend, y este es mi servidor que copié de la página de inicio:

import { WebSocketServer } from 'ws'

const wss = new WebSocketServer({ port: 8080 })

wss.on('connection', function connection(ws) {
  ws.on('message', function message(data) {
    console.log('recibido: %s', data)
  })

  ws.send('algo')
})

Ahora, en la consola de mi navegador, ejecuto esto:

const socket = new WebSocket("ws://localhost:8080")

Obtengo un error:

> Política de seguridad de contenido: la configuración de la página bloqueó la carga
> de un recurso en ws: // localhost: 8080 / (“connect-src”).

He hecho algunas búsquedas en Google y parece que la conexión debería ser segura para que funcione. Sin embargo, MDN y otras fuentes no lo mencionan en ninguna parte. ¿Estoy haciendo algo mal? Agradecería cualquier ayuda.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que la configuración de la política de seguridad del contenido en su navegador está bloqueando la carga del recurso en ws://localhost:8080. Esto se debe a que la política de seguridad del contenido está configurada para permitir solo ciertos tipos de conexiones y recursos que se carguen en la página.

    Para resolver este problema, es posible que deba modificar la política de seguridad del contenido para permitir conexiones a ws://localhost:8080. Puede hacer esto agregando la siguiente línea a la cabecera de la política de seguridad del contenido:

    connect-src ws://localhost:8080;

    Esta línea especifica que las conexiones a ws://localhost:8080 están permitidas como parte de la política de seguridad del contenido. Puede modificar esta línea según sea necesario para permitir otros tipos de conexiones también.

    También es importante tener en cuenta que las conexiones WebSocket se pueden hacer de manera segura a través del protocolo WSS (WebSocket Secure), que utiliza cifrado SSL/TLS para garantizar la seguridad de la conexión. Sin embargo, esto no es necesariamente obligatorio para que una conexión WebSocket funcione.

Comments are closed.