vue.js - NUXT 中的 CSP 设置

标签 vue.js nuxt.js content-security-policy

CSP 阻止我的本地 js 文件。 这是我的 nuxt.config.js

      unsafeInlineCompatibility: true,
      policies: {
        'default-src': ["'self'", 'delivly.com', 'localhost', '*.gstatic.com', '*.fontawesome.com'],
        'script-src': ["'unsafe-inline'", 'delivly.com', 'localhost', '*.fontawesome.com', '*.googlesyndication.com', '*.googletagmanager.com'],
        'style-src': ["'self'", "'unsafe-inline'", 'delivly.com', '*.googleapis.com', '*.fontawesome.com'],
        'connect-src': ["'self'", 'wss://delivly.com']
      },
      addMeta: true
    }

阻止的文件:

http://localhost:3010/_nuxt/runtime.js
http://localhost:3010/_nuxt/pages_index.js
http://localhost:3010/_nuxt/commons.app.js
http://localhost:3010/_nuxt/vendors.app.js
http://localhost:3010/_nuxt/app.js

有谁知道问题出在哪里吗?

最佳答案

我知道现在回答 topicstarter 已经太晚了,但也许它会对“新一代”派上用场。 localhost 充当主机源,但主机源仅允许标准端口。

在 HTTP:-page 上,localhost 将转换为 http://localhost(同源策略用于恢复方案)。对于 http:// 方案,标准端口为 80,因此任何其他端口都将被 CSP 禁止(CSP3 浏览器也将允许端口 443)。

要允许任何端口,需要使用 * 作为端口号,如下所示:
'default-src': ['localhost:*']
或指定真实端口号:
'default-src': ['localhost:3010']

关于vue.js - NUXT 中的 CSP 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60776336/

相关文章:

node.js - npm 运行生产后,vendor.js 很大

javascript - JSON 对象数组到单个字符串

javascript - 在一个组件中动态显示下拉列表

google-chrome - 不触发内容安全策略违规事件

javascript - Facebook Javascript SDK 和 CSP

javascript - 在 Vuejs 中将动态参数传递给 api 调用的正确方法是什么?

javascript - 如何从/页面重定向到 layouts/error.vue?

javascript - nuxt.js 将 prop 传递给组件的内部元素

javascript - 在 Nuxt JS 中创建 Vue 应用程序之前检查 Firebase onAuthStateChanged

Angular 5 和 CSP - 拒绝将字符串评估为 JavaScript,因为 'unsafe-eval' 不是允许的脚本源