com.aliyun.oss.OSSException: The request signature we calculated does not match the signature you provided. Check your key and signing method.
[ErrorCode]: SignatureDoesNotMatch
[RequestId]: 5D67AA13E6******FCFC9CFF13
[HostId]: oss******.cn
[ResponseError]:
SignatureDoesNotMatch
The request signature we calculated does not match the signature you provided. Check your key and signing method.
5D67AA13E6******FCFC9CFF13
oss******.cn
********
********
POST
application/octet-stream
Thu, 29 Aug 2019 10:36:43 GMT
/jtjyspcc/private/SYSTEM/345288c8b58449b4afbf2258e0fa1e0a?uploads
50 4F 53 54 64 73
二、错误分析
一、基础配置检查
-----------------------------------------------------------------------------------------
1、确保你当前操作的电脑可以ping通endPoint
公有云是互联网都能访问,但是私有云是内网才可以访问的,所以,确保你的网络能通;
如果网络不通时,抛出的异常是 Unknown Host,也是比较容易排查
2、确保你的AK(AccessKeyId)是正确且启用的
因为AK是可以被禁用,被删除的
如果是失效或者禁用删除了,提示信息是 invalid key
3、确保你的AS(AccessKeySecret)是正确的
如果失败,一般是 SignatureDoesNotMatch
4、检查配置文件前后是否带了空格
5、检查 endpoint前面是否带上了 bucket (正确的是不带bucket,错误示例:${bucket}.${endpoint} )
-----------------------------------------------------------------------------------------
二、如果以上基础信息都配置正确,可以去OSS官网下载ossUtils工具验证一下
1、官网工具下载:https://help.aliyun.com/document_detail/120075.html?spm=a2c4g.11186623.6.696.124933aanP6Ubd
2、参考官网资料,下载并配置Endpoint AK AS 信息,最后一个StsToken可以不用设置
3、下载之后,启动,并输入一些基础命令检查
ls 命令查看所有的bucket信息
ls oss://bucketName 命令查看指定的bucketName的信息
4、如果正常输出结果,则表明基础配置信息都是正确的;反之,重新检查,排除法,一步步来
----------------------------------------------------------------------------------------
三、经过验证之后,基础信息是正常的,但是还是抛出签名认证失败问题:SignatureDoesNotMatch
1、OSS SDK版本试着更新一下
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.5.0</version>
</dependency>
2、如果是私有云的环境 <--------!!!!! 重!点 !!!!!----------->
私有云一定要关闭 CNAME,才能正常认证通过!!!
(我就是卡在这里,磨了大半天,被人提及才知道,奇怪的是网上对于这一点的知识几乎没有,所以格外注意了)
ClientBuilderConfiguration conf = new ClientBuilderConfiguration();
// 私有云要关闭CNAME
conf.setSupportCname(false);
OSS ossClient = new OSSClientBuilder().build(endPoint, accessKeyId, accessKeySecret, conf);
-----------------------------------------------------------------------------------------
四、终极办法:只能求助OSS售后工程师了
1、在OSS官网,提交工单,把问题描述详细,提交等待
2、一般在一个小时内可以收到回复,建议可以debug时,同步进行
3、可以加急处理
4、工单结束后,删除工单,可以把相关的私密信息都删除,不用担心泄密
三、欢迎大家积极评论,谢谢
一、报错信息com.aliyun.oss.OSSException: The request signature we calculated does not match the signature you provided. Check your key and signing method.[ErrorCode]: SignatureDoesNotMatch[RequestId...
阿里云OSS下载文件报错:The request signature we calculated does not match the signature you provided.
SignatureDoesNot
Match
The request
signature we calculated does not
match the
signature you provided. Check your key and signing method.
topic/admin/6315e4be-bf46-41a5-b12f-0f21f9abffb7蘑菇.JPEG
阿里云对象存储上传或复制文件时报 The request signature we calculated does not match the signature you provided. Check your key and signing method.
WARN [qtp691614805-21] oss.logException(62) |[Server]Unable to execute HTTP request: The request signature we calculated do.
x509Certificate.verify(x509Certificate.getPublicKey());
使用此方法进行证书链验证时,一直出现签名不匹配问题,源于自签名证书(即根证书)原因。
此处需要使用subjectCert.verify(issuerCert.getPublicKey());
资料参考:http://bouncy-castle.1462172.n4.nabble
这是一个
错误信息,表示在访问阿里云
OSS存储服务时,请求
签名不匹配。可能的原因是使用了
错误的访问密钥或
签名方法,或者请求中的参数已更改。建议检查访问密钥和
签名方法是否正确,并检查请求中的参数是否有误。
ErrorCode: SignatureDoesNotMatch
ErrorMessage: The request signature we calculated does not match the signature you provided. Check your key and signing method.
签名不正确问题
请检查Endpoint前面没有Bucket,后面没有多余的“/”,前后没有多余的空格。
比如下面的Endpoint是不合法的。
http:// oss-cn-h..
5. 单击“编辑”按钮来编辑
环境变量。
6. 在编辑
环境变量页面,您可以添加、修改或删除
环境变量。
7. 单击“添加
环境变量”按钮来添加一个新的
环境变量。在弹出的对话框中,输入变量名称和值,然后单击“确定”按钮。
8. 若要修改或删除现有的
环境变量,请单击右侧的编辑或删除按钮。
9. 完成后,单击“保存”按钮以保存您所做的更改。
请
注意,阿里云
OSS的
环境变量功能是用于存储与您的存储空间相关的配置信息。您可以在应用程序中使用这些
环境变量来访问和管理您的存储空间。
希望这对您有所帮助!如有任何其他问题,请随时提问。
Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), Connection refused
47423