添加完整性后,访问控制将允许来源CORS警告

时间:2018-11-05 20:01:53

标签: javascript google-app-engine cors google-cloud-storage subresource-integrity

我在Google Cloud Project存储桶中上传了一个JS文件。我将其用作CDN。将完整性检查添加到用作CDN的JS文件后,我不断收到错误消息

Access to script at someCDN.js from origin requestURL.com has been blocked by CORS policy. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'requestURL.com' is therefore not allowed access

在添加完整性检查之前,我以前可以毫无问题地使用此CDN。我仔细检查并确保将请求的URL设置为允许的原始标头,但现在在添加完整性检查后出现此错误。

我使用CDN的方式是动态构建<script>标记并将其附加到DOM。

  const script = document.createElement('script')
  const parent = document.body

  script.src = 'https://storage.googleapis.com/some/file.js'
  script.integrity = 'sha384-someSRIhashkey'
  script.setAttribute('crossOrigin', 'anonymous')

  parent.appendChild(script)

我生成哈希的方式是https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity#Tools_for_generating_SRI_hashes

使用文档中的命令生成哈希后,我将文件作为对象上传到Google Cloud存储桶。

0 个答案:

没有答案