从文档和Rackspace团队的帮助中,我最终理解了这个问题。
对于只包含CDN文件的启用了CDN的容器,调整容器的元头是没有意义的。这些仅会被非CDN文件继承。
我必须在字体文件本身上调整响应标头。不幸的是,目前只能通过API支持此操作,我使用在Windows 7上从命令行中使用curl。
认证
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"
然后从响应中提取token
的id
和与cloudFiles
相关的endpoint
的publicURL
。我将响应复制到Notepad++中,分别搜索了token
和cloudfiles
。
调整文件响应头
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
它起作用了吗?
我收到了一个HTTP/1.1 2xx
的响应,并通过以下方式检查它是否起作用:
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
很遗憾,您必须等待文件的TTL过期或清除缓存才能看到实时结果。当我这样做时,进行边缘清除需要超过一天的时间。我使用以下方式检查了实时版本:
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
位于其中。