我正在构建一个使用头盔作为服务器端安全层的程序。我从 GitLab API 获取。我使用 socket.io 与 gitlab 进行通信。我还使用 ngrok 为 gitlab 获取一个临时 url,以便在我在 localhost 上工作时向其发送请求。
打开应用程序时,每隔几秒钟我就会收到此错误:
拒绝连接到“https://.ngrok.iosocket.io/”,因为它违反了以下内容安全策略指令:“default-src 'self'”。请注意,'connect-src' 没有明确设置,因此 'default-src' 用作后备。
为什么会这样?我尝试将 ngrok url 添加为 connect-src 但这没有帮助。
这是我的头盔 CSP 的样子:
app.use(helmet())
app.use(
helmet.contentSecurityPolicy({
directives: {
...helmet.contentSecurityPolicy.getDefaultDirectives(),
'script-src': ["'self'", 'code.jquery.com', 'cdn.jsdelivr.net', "'unsafe-eval'"]
}
})
)