如何将 CSP 与 pdf.js 一起使用?我有工人的问题

how use CSP with pdf.js? I have a problem with worker

MVC c# 应用程序。 我正在使用 CSP,格式如下:

<meta http-equiv="Content-Security-Policy" content="
    default-src 'self';
    script-src 'self' https://mozilla.github.io/pdf.js/build/pdf.js https://mozilla.github.io/pdf.js/build/pdf.worker.js;
    style-src  'self' https://meyerweb.com/eric/tools/css/reset/reset.css;
    object-src 'self';
    base-uri 'self';
    connect-src 'self';
    font-src 'self';
    frame-src 'self';
    img-src 'self';
    manifest-src 'self';
    media-src 'self';
    worker-src blob:;"/>

在项目中,我对 base64 pdf 使用 pdf.js。我看到了我的文档,但没有看到 pdf.js 中的按钮栏。 我的浏览器控制台显示:

和我的 javascript 函数使用:

var DivContenedorPDF = document.createElement("div");
DivContenedorPDF.id = "pdf-viewer";
var pdfData = atob(b64);
var pdfjsLib = window['pdfjs-dist/build/pdf'];
pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';....

我尝试添加 blob: 在 default-src 中,使用本地 pdf.js(这没有错误但不起作用)...

额外信息:

提前致谢!

尝试将 blob: 添加到 script-src。

您的浏览器控制台显示 CSP:

default-src https: data: 'unsafe-inline' *.google.com

与您在 meta-tag 中显示的不同:

default-src 'self'; ...

看起来你确实在其他地方发布了 Content-Security-Policy,而不是你想象的(和编辑)。

worker-src blob: 在 meta-tag 中是 totally enough 以允许从 blob-URL.[=13= 创建工人]

@granty 给了我答案:控制台中的消息不是通用的。我不知道为什么,但我的 IIS 使用了另一个 CSP 配置。 我的代码可以删除响应 IIS 的 header 部分的配置。