tencent cloud

边缘安全加速平台 EO

文档边缘安全加速平台 EO实践教程使用 Akamai NetStorage 作为源站的配置实践

使用 Akamai NetStorage 作为源站的配置实践

下载
聚焦模式
字号
最后更新时间: 2026-05-25 15:59:45
本文介绍如何通过 EdgeOne 规则引擎的「回源鉴权」操作,为 Akamai NetStorage 源站配置回源认证,帮助您在从 Akamai ChinaCDN 迁移至 EdgeOne 时,无需改造源站鉴权逻辑,实现平滑迁移。

背景介绍

Akamai NetStorage 是 Akamai 提供的云存储服务(类似于 AWS S3 或腾讯云 COS),被广泛用作 CDN 回源的源站。Akamai NetStorage 要求每次回源请求必须携带特定的鉴权头部,源站才会验证通过并正常响应,其鉴权逻辑涉及时间戳、随机数、账号 ID 及密钥签名等复杂计算。
在 Akamai ChinaCDN 迁移至 EdgeOne 的过程中,如果您继续使用 Akamai NetStorage 作为源站,则需要 EdgeOne 具备自动计算并附加上述鉴权头部的能力。EdgeOne 规则引擎的「回源鉴权」操作提供了专用的 Akamai NetStorage 内置函数,可自动完成鉴权头部的计算与注入,全程无需改造源站,帮助您顺畅完成迁移。

前置条件

1. 已在 EdgeOne 控制台完成站点添加,详情请参见 添加站点
2. 已在 EdgeOne 域名服务中完成域名接入配置,其中源站为 Akamai NetStorage 的域名。
3. 已从 Akamai NetStorage 管理后台获取以下信息,并妥善保管:
uploadAccountId:固定的账号 ID(例如 UploadAccountMedia
key:用于签名计算的密钥(例如 123456
version:鉴权加密格式版本,取值为 35

操作步骤

若您的业务 www.example.com 使用 Akamai NetStorage 作为源站,可参考以下步骤。
假设字段取值:使用 version 5(HMAC-SHA256)加密算法,账号 ID 为 UploadAccountMedia,密钥为 your_secret_key,action 为 download,CP Code 为 1926792,NetStorage 源站域名为 tencentns01-nsu.akamaihd.net

步骤 1:进入规则引擎

1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,进入服务总览,单击网站安全加速内需配置的站点。
2. 在站点详情页面,单击站点加速 > 规则引擎,进入规则引擎页面。

步骤 2:配置匹配条件

1. 在规则引擎页面,单击创建规则,选择新增空白规则。
2. 在规则编辑页面,匹配类型选择为 HOST 等于 www.example.com。

步骤 3:添加「回源鉴权」操作并配置三个鉴权头部

1. 单击操作 > 选择框,在弹出的操作列表内,选择操作为回源鉴权。
2. 选择类型为设置请求头,依次添加以下三个鉴权头部:
头部一:X-Akamai-ACS-Auth-Data
配置项
示例(具体填写可参照鉴权头部说明)
头部名称
X-Akamai-ACS-Auth-Data
头部值
akamai_ns_auth_data(5, "UploadAccountMedia")
头部二:X-Akamai-ACS-Auth-Sign
配置项
示例(具体填写可参照鉴权头部说明)
头部名称
X-Akamai-ACS-Auth-Sign
头部值
akamai_ns_auth_sign(5, "your_secret_key")
头部三:X-Akamai-ACS-Action
配置项
示例(具体填写可参照鉴权头部说明)
头部名称
X-Akamai-ACS-Action
头部值
akamai_ns_auth_action("version=1&action=download")

步骤 4:添加「回源 URL 重写」操作

X-Akamai-ACS-Auth-Sign 中的 sign-string 参数,需要在 URL 路径前拼接 CP Code,实现方式为增加路径前缀,配置示例如下:




步骤 5:保存并发布规则

完整配置示例如下,单击保存并发布,规则发布成功后即时生效。




鉴权头部说明

Akamai NetStorage 回源认证需要同时携带以下三个请求头部,缺少任意一个将导致源站鉴权失败。

X-Akamai-ACS-Auth-Data

该头部用于携带身份验证数据,由以下字段按固定格式拼接而成:
[version], [0.0.0.0], [0.0.0.0], [time], [unique-id], [uploadAccountId]
各字段说明如下:
字段
说明
version
身份验证加密格式版本,取值为 35,需与源站配置保持一致。
Version 3:HMAC-MD5([key], [data] + [sign-string])
Version 5:HMAC-SHA256([key], [data] + [sign-string])
0.0.0.0
保留字段,固定填写 0.0.0.0,出现两次。
time
当前十进制时间戳,由 EdgeOne 在回源时实时生成。
unique-id
随机数,由 EdgeOne 在回源时实时生成。
uploadAccountId
客户提供的固定账号 ID,例如 UploadAccountMedia
拼接示例
5, 0.0.0.0, 0.0.0.0, 1497896370, 3956209820, UploadAccountMedia
在规则引擎中,使用内置函数 akamai_ns_auth_data(version, "uploadAccountId") 自动完成上述字段的拼接与生成,无需手动维护时间戳和随机数。

X-Akamai-ACS-Auth-Sign

该头部为 Base64 编码的请求签名,用于验证请求合法性。其加密算法由 version 决定(version 5 对应 HMAC-SHA256),加密内容由以下三部分拼接组成:
加密内容构成
key + data + sign-string
组成部分
说明
key
客户提供的固定密钥,例如 123456
data
X-Akamai-ACS-Auth-Data 头部的完整值。
sign-string
URL 路径 + 换行符 + X-Akamai-ACS-Action 头部名称及其值 + 换行符 拼接而成。
sign-string 拼接示例
/[CP Code]/[path]/[file.ext]\\nx-akamai-acs-action:version=1&action=upload&md5=0123456789abcdef0123456789abcdef&mtime=1260000000\\n
在规则引擎中,使用内置函数 akamai_ns_auth_sign(version, "key") 自动完成上述签名计算,并输出 Base64 编码结果。

X-Akamai-ACS-Action

该头部表示请求的操作类型(如上传、下载等)。在规则引擎中,使用内置函数 akamai_ns_auth_action("version=xxx&action=xxx") 自动生成该头部的值。

注意事项

uploadAccountIdkey(密钥)需由客户在 Akamai NetStorage 管理后台获取,请妥善保管密钥,避免泄露。
version 参数需与源站配置保持一致,当前支持 3 和 5 两个版本。
CP Code 通过回源 URL 重写增加路径前缀的方式指定。

相关参考

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈