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 de Websocket falla después de agregar Content-Security-Policy en nginx.

Quiero agregar un nuevo encabezado Content-Security-Policy a mi archivo de configuración de nginx para mejorar la seguridad. He agregado todas las fuentes externas y todo funciona bien excepto por el chatbot que es infobip. Utiliza el protocolo wss y por alguna razón no puedo encontrar la forma correcta de configurarlo.

Este es el error que obtengo.

Y este es mi encabezado en nginx.conf

add_header ‘Content-Security-Policy’ “default-src ‘self’ ‘unsafe-inline’ wss: wss://.infobip.com ws://.infobip.com .infobip.com http://www.w3.org https://fonts.googleapis.com https://stackpath.bootstrapcdn.com *.youtube.com https://cdn.jsdelivr.net/; img-src ‘self’ data: https://.openstreetmap.org wss://livechat-fr.infobip.com/chat/web/proxy/827/toxgylwd/websocket always; connect-src ‘self’ wss: ws: wss://.infobip.com ws://.infobip.com .infobip.com https://.doubleclick.net wss://livechat-fr.infobip.com/chat/web/proxy/492/hybzmnjl/websocket ‘unsafe-inline’ always;;”

He intentado numerosas formas de permitir la conexión del websocket, pero ninguna parece funcionar.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está en la conexión websocket del chatbot de infobip. Según el mensaje de error proporcionado, parece que la conexión está siendo bloqueada debido a la configuración de su política de seguridad de contenido.

    Para resolver este problema, debe modificar la cabecera de su política de seguridad de contenido para permitir la conexión websocket desde infobip. Esto es lo que puede hacer:

    1. Agregue una directiva adicional de connect-src a su cabecera de política de seguridad de contenido, específicamente para la URL websocket de infobip:
    add_header 'Content-Security-Policy' "default-src 'self' 'unsafe-inline' wss: wss://*.infobip.com ws://*.infobip.com *.infobip.com http://www.w3.org https://fonts.googleapis.com https://stackpath.bootstrapcdn.com *.youtube.com https://cdn.jsdelivr.net/; img-src 'self' data: https://*.openstreetmap.org wss://livechat-fr.infobip.com/chat/web/proxy/827/toxgylwd/websocket always; connect-src 'self' wss: ws: wss://*.infobip.com ws://*.infobip.com *.infobip.com https://*.doubleclick.net wss://livechat-fr.infobip.com/chat/web/proxy/492/hybzmnjl/websocket wss://livechat-fr.infobip.com/chat/web/proxy/751/jxvvdsxd/websocket always;";
    
    1. Esta nueva directiva debería permitir conexiones a la URL websocket de infobip (en este caso, parece ser wss://livechat-fr.infobip.com/chat/web/proxy/751/jxvvdsxd/websocket).
    2. Después de actualizar su archivo nginx.conf con la nueva cabecera, recargue nginx para que los cambios surtan efecto.

    sudo service nginx reload
    

    Al permitir la conexión websocket de infobip en su política de seguridad de contenido, debería poder resolver este problema y mejorar la seguridad de su aplicación.

Comments are closed.