开发者社区> 问答> 正文

阿里云OpenAPI负载均衡里面的访问控制添加ip条目的签名方法请问是否支持?

阿里云OpenAPI负载均衡里面的访问控制添加ip条目的签名方法请问是否支持?签名方法用的是
ngx.hmac_sha1
base64方法用的是
ngx.encode_base64
目前返回的内容是
The request signature does not conform to Aliyun standards.

展开
收起
三分钟热度的鱼 2023-07-19 15:50:16 71 0
4 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    阿里云OpenAPI负载均衡支持使用AccessKey进行签名认证,不支持使用ngx.hmac_sha1和ngx.encode_base64进行签名。签名规则如下:

    将请求参数按照参数名称的字典顺序排序,不包括 Signature 参数。

    将排序后的参数按照“参数名称=参数值”的格式拼接成一个字符串,多个参数之间用“&”符号连接。

    对拼接后的字符串进行 URL 编码。

    将 HTTP 请求方法、请求路径和编码后的参数字符串按照“方法&路径&参数”的格式拼接成一个字符串。

    使用 HMAC-SHA1 算法对上一步中拼接的字符串和 AccessKeySecret 进行签名,得到一个二进制字符串。

    将上一步得到的二进制字符串使用 base64 编码。

    将 base64 编码后的签名值作为 Signature 参数添加到请求中。

    2023-07-28 13:35:46
    赞同 展开评论 打赏
  • 云端行者觅知音, 技术前沿我独行。 前言探索无边界, 阿里风光引我情。

    根据您提供的信息,您遇到了阿里云OpenAPI负载均衡中访问控制添加IP条目的签名问题。根据阿里云的文档,OpenAPI的请求需要进行签名才能被正确识别和验证。

    阿里云的签名算法是基于HMAC-SHA1的,您提到使用了ngx.hmac_sha1进行签名计算,并使用ngx.encode_base64进行Base64编码。

    根据您提供的错误信息,"request signature does not conform to Aliyun standards",这可能是由于签名计算不符合阿里云的标准所导致的。

    为了更好地帮助您解决问题,我需要更多的上下文信息,例如您的签名代码和请求示例。这样我才能更准确地分析问题并提供解决方案。

    2023-07-21 15:28:13
    赞同 展开评论 打赏
  • 是的,阿里云负载均衡(SLB)的访问控制功能中支持添加IP条目的签名方法。您可以使用阿里云OpenAPI进行访问控制的配置和管理。

    为了进行请求签名,您需要执行以下步骤:

    1. 生成规范化请求字符串:根据要调用的具体接口和参数,生成规范化的请求字符串,包括HTTP方法、URI、排序后的参数列表等。

    2. 拼接待签名字符串:将请求的方法和域名、规范化的请求字符串、当前时间戳等信息按照一定的格式拼接成待签名字符串。

    3. 计算签名:使用Access Key Secret(AK/SK)对待签名字符串进行HMAC-SHA1加密,得到签名字符串。

    4. 将签名添加到请求Header中:将生成的签名字符串作为签名(Signature)添加到请求的Header中,以验证身份和授权权限。

    请注意,具体的签名方法可能会因不同的编程语言或SDK而有所不同。您可以参考阿里云的OpenAPI文档或相关编程语言的SDK文档,查找适合您的开发环境和工具的签名方法示例和实现方式。

    2023-07-19 20:56:44
    赞同 展开评论 打赏
  • 结果是一样的 就支持。lQLPJxMFSHC9NBLNBZrNCDCw_3yq7NzFqDIEppY3ZwASAA_2096_1434.png https://github.com/alibaba-archive/rpc-client-lua 可以参考下这个项目。
    此回答整理自钉群“阿里云 OpenAPI SDK 自签名服务群”

    2023-07-19 15:56:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
AutoTalk第七期:自动化工具-OpenAPI在线调试 立即下载
最大化阿里云OpenAPI能力的方法和实践 立即下载
低代码开发师(初级)实战教程 立即下载