当前位置: 首页 > 知识库问答 >
问题:

跨源资源共享(访问-控制-允许-源头)Rackspace Cloudfiles CDN

樊运乾
2023-03-14

我在我们的Chrome现场网站上得到以下错误,因为CSS中嵌入的字体文件都在我们的rackspace CDN上:

来源'https://aaa-aaa.ssl.cf3.rackcdn.com'的字体已被跨来源资源共享策略阻止加载:请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许访问起源'https://www.mysite.co.uk'。

从CDN获取这些文件时,如何将Access-Control-Allow-Origin标头添加到响应中?

共有1个答案

龙成仁
2023-03-14

RACKSPACE文档

第一步是验证:

curl -d "{\"auth\":{\"RAX-KSKEY:apiKeyCredentials\":{\"username\":\"my_username\",\"apiKey\":\"my_api_key\"}}}" -H "Content-Type: application/json" "https://identity.api.rackspacecloud.com/v2.0/tokens"

然后从响应中提取标记ID和与CloudFiles相关的endpointpublicURL。我将响应复制到Notepad++,并分别搜索tokencloudfiles

RACKSPACE文档

我尝试用以下命令调整标题:

curl -i -XPOST -H "x-auth-token: my-auth-token" -H "Access-Control-Expose-Headers: Access-Control-Allow-Origin" -H "Access-Control-Allow-Origin: *" https://storage101.lon3.clouddrive.com/v1/MossoCloudFS_my-end-point/container/pseudo-dir1/psuedo-dir2/my-site-icons.ttf

奏效了吗?

curl -i -XGET -H "X-Auth-Token: my-auth-token" https://storage101.lon3.clouddrive.com/v1/MossoCloudFS_my-end-point/container/pseudo-dir1/psuedo-dir2/my-site-icons.ttf
curl -i -XGET https://live-version-container-hash.ssl.cf3.rackcdn.com/pseudo-dir1/psuedo-dir2/my-site-icons.ttf

我决定在我的文件中添加一个版本,并在上传过程中添加标题:

curl -i -XPUT -H "x-auth-token: my-auth-token" -H "Access-Control-Expose-Headers: Access-Control-Allow-Origin" -H "Access-Control-Allow-Origin: *" https://storage101.lon3.clouddrive.com/v1/MossoCloudFS_my-end-point/container/pseudo-dir1/psuedo-dir2/my-site-icons1.0.0.ttf -T my-site-icons.tff

从文件my-site-icons.tff所在的本地目录执行

 类似资料:
  • 这个get请求应该包含在响应中,头, 我的桶CORS设置如下所示: 正如您可能期望的那样,没有响应头。

  • 通过XHR 实现Ajax 通信的一个主要限制,来源于跨域安全策略。默认情况下,XHR 对象只能访问与包含它的页面位于同一个域中的资源。这种安全策略可以预防某些恶意行为。但是,实现合理的跨域请求对开发某些浏览器应用程序也是至关重要的。 CORS(Cross-Origin Resource Sharing,跨源资源共享)是W3C 的一个工作草案,定义了在必须访问跨源资源时,浏览器与服务器应该如何沟通。

  • 我犯了这个错误 无法加载XMLHttpRequesthttp://domain.com/canvas/include/rs-plugin/js/extensions/revolution.extension.video.min.js.飞行前响应中的访问控制允许标头不允许请求标头字段X-Requested-With。 我的php页面顶部有这两行代码,用于加载这个js文件。 但是问题依然存在,我该怎么

  • https://docs.spring.io/spring-security/site/docs/5.0.5.release/reference/htmlsingle/#cors 我不确定这是由于我的CORS配置还是某些CSRF配置(就我而言,由于我的HttpSecurity配置,CSRF应该被禁用): 我已经尝试了各种其他建议的解决方案和旧的Spring Security版本的CORS配置,但到

  • 问题内容: 我看到以下错误: 使用此代码: 是什么原因引起的,如何解决? 问题答案: 在当前域之外发出ajax请求时,Javascript是受限制的。 例1:您的域名为example.com,并且您想向test.com提出请求=>您不能。 例2:您的域名是example.com,并且您想向inner.example.com发送请求,但是您不能。 例3:您的域名为example.com:80,并且您

  • 问题内容: 我尝试使用以下代码通过$ http(角度)发送http请求: 但这不起作用,并且我在Web控制台中有此错误: 你有解决方案吗 ? 问题答案: 您看到此错误是由于在浏览器中实现的称为Same Origin Policy的安全机制所致。 基本上,这是由于您的网页尝试访问驻留在与网页本身不同的主机,端口或方案(HTTP / HTTPS /文件等)所在的服务器上的资源而引起的。 为了解决此问题