我正在尝试通过 Google Cloud CDN 让 hls / dash 流工作,以获得视频点播解决方案。文件/清单位于谷歌云存储桶中,一切看起来都配置正确,因为我遵循了文档https://cloud.google.com/cdn/docs/using-signed-cookies的每一步。
现在,我正在使用来自Google Cloud CDN 的等效 Node.js 代码,以存储桶作为后端签名 cookie,以创建一个具有正确签名密钥名称和值的签名 cookie,该名称和值是我之前在谷歌云中设置的。cookie 被发送到我在 Google Cloud 中的负载平衡器后端。
可悲的是,我总是收到 403 响应说<?xml version='1.0' encoding='UTF-8'?><Error><Code>AccessDenied</Code><Message>Access denied.</Message></Error>
。
更多信息:
- 在负载均衡器后端激活签名的 urls/cookies
- cdn-account 存储桶中的 IAM 角色设置为“objectViewer”
- 创建、保存并用于签署 cookie 的签名密钥
非常感谢您对此的任何帮助。
编辑: 我刚刚尝试了确切的 python 代码谷歌状态来从https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/cdn/snippets.py使用以下参数创建签名的 cookie:
称呼:sign_cookie('http://cdn.myurl.com/', 'mykeyname', 'mybase64encodedkey', 1614110180545)
密钥是直接从谷歌复制的,因为我在那里生成了它。
负载均衡器日志写入invalid_signed_cookie
.