我正在使用vue2与websocket一起使用,它在我将服务器移到新服务器之前正常工作,我的项目拒绝与通道进行握手
复制链接
https://realsportindo.com/event/kejuaraan-kata-virtual-forki-jabar-2020/medals
您可以看到webscoket的日志被阻止
Refused to connect to 'wss://example.com/socket//websocket?vsn=1.0.0' because it violates the following Content Security Policy directive: "default-src 'self' http: https: data: blob: 'unsafe-inline'". Note that 'connect-src' was not explicitly set, so 'default-src' is used as a fallback.
它不会在生产时发生,只有在构建并部署到生产后才会发生
错误信息:
因为它违反了以下内容安全策略指令:“ default-src'self'http:https:data:blob:'unsafe-inline'”。
请注意,未明确设置'connect-src',因此'default-src'被用作后备。
说代理的内容安全策略不包含connect-src
指令,但是您在HTML代码中的元标记确实包含该指令:
<meta http-equiv=Content-Security-Policy content="default-src 'self' https: http: ws: wss: 'unsafe-eval' 'unsafe-inline'; img-src 'self' data: http: https:; connect-src ws: wss: https: http:">
这意味着您发布了2个CSP:
由于您有2种不同的内容安全策略,因此所有来源都应通过这两个策略不受限制地传递。但是第二个不允许wss:
因此锁定它。
您需要以一种方式交付CSP:元标记或HTTP标头。
顺便说一句:您的CSP规则是如此开放,以至您甚至都不需要CSP-它没有任何限制。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句